From 770ae68e66266cccfae63cf07518d6bfa0dfd105 Mon Sep 17 00:00:00 2001 From: XTZGZoReX Date: Mon, 7 Jun 2010 01:51:25 +0200 Subject: * Rename vmap_assembler.cpp to VMapAssembler.cpp. --HG-- branch : trunk --- src/tools/vmap3_assembler/CMakeLists.txt | 4 +- src/tools/vmap3_assembler/VMapAssembler.cpp | 120 +++++++++++++++++++++++++++ src/tools/vmap3_assembler/splitConfig.txt | 21 ----- src/tools/vmap3_assembler/vmap_assembler.cpp | 120 --------------------------- 4 files changed, 122 insertions(+), 143 deletions(-) create mode 100644 src/tools/vmap3_assembler/VMapAssembler.cpp delete mode 100644 src/tools/vmap3_assembler/splitConfig.txt delete mode 100644 src/tools/vmap3_assembler/vmap_assembler.cpp (limited to 'src/tools') diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index fd4994b67ed..42f9a972a25 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -67,7 +67,7 @@ add_library(g3dlite ../../dep/src/g3dlite/AABox.cpp ) add_library(vmap - ../../src/shared/vmap/BIH.cpp + ../../src/shared/vmap/BoundingIntervalHierarchy.cpp ../../src/shared/vmap/VMapManager2.cpp ../../src/shared/vmap/MapTree.cpp ../../src/shared/vmap/TileAssembler.cpp @@ -77,7 +77,7 @@ add_library(vmap target_link_libraries(vmap g3dlite z) -add_executable(vmap_assembler vmap_assembler.cpp) +add_executable(vmap_assembler VMapAssembler.cpp) target_link_libraries(vmap_assembler vmap) # add_executable(vmap_test coordinate_test.cpp) diff --git a/src/tools/vmap3_assembler/VMapAssembler.cpp b/src/tools/vmap3_assembler/VMapAssembler.cpp new file mode 100644 index 00000000000..6666b54356c --- /dev/null +++ b/src/tools/vmap3_assembler/VMapAssembler.cpp @@ -0,0 +1,120 @@ +#include +#include +#include + +#include "TileAssembler.h" + +//======================================================= +// remove last return or LF and tailing SPACE +// remove all char after a # + +void chompAndTrim(std::string& str) +{ + for(unsigned int i=0;i0) { + char lc = str[str.length()-1]; + if(lc == '\r' || lc == '\n' || lc == ' ') { + str = str.substr(0,str.length()-1); + } else { + break; + } + } +} + +//======================================================= +/** +This callback method is called for each model found in the dir file. +return true if it should be included in the vmap +*/ +bool modelNameFilter(char *pName) +{ +#if 0 + bool result; + result = !Wildcard::wildcardfit("*bush[0-9]*", pName); + if(result) result = !Wildcard::wildcardfit("*shrub[0-9]*", pName); + if(result) result = !Wildcard::wildcardfit("*_Bushes_*", pName); + if(result) result = !Wildcard::wildcardfit("*_Bush_*", pName); + if(!result) { + printf("%s",pName); + } +#endif + return true; +} + +//======================================================= +/** +File contains map names that should be split into tiles +A '#' at the beginning of a line defines a comment +*/ + +/* bool readConfigFile(char *pConffile, VMAP::TileAssembler* pTa) +{ + bool result = false; + char buffer[501]; + FILE *cf = fopen(pConffile, "rb"); + if(cf) { + while(fgets(buffer, 500, cf)) { + std::string name = std::string(buffer); + size_t pos = name.find_first_not_of(' '); + name = name.substr(pos); + chompAndTrim(name); // just to be sure + if(name[0] != '#' && name.size() >0) { // comment? + unsigned int mapId = atoi(name.c_str()); + pTa->addWorldAreaMapId(mapId); + } + } + fclose(cf); + result = true; + } + return(result); +} */ +//======================================================= +int main(int argc, char* argv[]) +{ + if(argc != 3 && argc != 4) + { + printf("\nusage: %s [config file name]\n", argv[0]); + return 1; + } + + char *src = argv[1]; + char *dest = argv[2]; + char *conffile = NULL; + if(argc >= 4) + conffile = argv[3]; + + VMAP::TileAssembler* ta = new VMAP::TileAssembler(std::string(src), std::string(dest)); + ta->setModelNameFilterMethod(modelNameFilter); + + /* + All the names in the list are considered to be world maps or huge instances. + These maps will be spilt into tiles in the vmap assemble process + */ + /* if(conffile != NULL) + { + if(!readConfigFile(conffile, ta)) + { + printf("Can not open file config file: %s\n", conffile); + delete ta; + return 1; + } + } */ + + if(!ta->convertWorld2()) + { + printf("exit with errors\n"); + delete ta; + return 1; + } + + delete ta; + printf("Ok, all done\n"); + return 0; +} diff --git a/src/tools/vmap3_assembler/splitConfig.txt b/src/tools/vmap3_assembler/splitConfig.txt deleted file mode 100644 index 8d217b8e967..00000000000 --- a/src/tools/vmap3_assembler/splitConfig.txt +++ /dev/null @@ -1,21 +0,0 @@ -# list of map names - -509 #AhnQiraj -469 #BlackwingLair -189 #MonasteryInstances -030 #PVPZone01 -037 #PVPZone02 -033 #Shadowfang -533 #Stratholme Raid -209 #TanarisInstance -309 #Zul'gurub -560 #HillsbradPast -534 #HyjalPast -532 #Karazahn -543 #HellfireRampart -568 #ZulAman -564 #BlackTemple -574 #UtgardeKeep -575 #UtgardePinnacle -609 #EbonHold -628 #IsleOfConquest \ No newline at end of file diff --git a/src/tools/vmap3_assembler/vmap_assembler.cpp b/src/tools/vmap3_assembler/vmap_assembler.cpp deleted file mode 100644 index 6666b54356c..00000000000 --- a/src/tools/vmap3_assembler/vmap_assembler.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include -#include -#include - -#include "TileAssembler.h" - -//======================================================= -// remove last return or LF and tailing SPACE -// remove all char after a # - -void chompAndTrim(std::string& str) -{ - for(unsigned int i=0;i0) { - char lc = str[str.length()-1]; - if(lc == '\r' || lc == '\n' || lc == ' ') { - str = str.substr(0,str.length()-1); - } else { - break; - } - } -} - -//======================================================= -/** -This callback method is called for each model found in the dir file. -return true if it should be included in the vmap -*/ -bool modelNameFilter(char *pName) -{ -#if 0 - bool result; - result = !Wildcard::wildcardfit("*bush[0-9]*", pName); - if(result) result = !Wildcard::wildcardfit("*shrub[0-9]*", pName); - if(result) result = !Wildcard::wildcardfit("*_Bushes_*", pName); - if(result) result = !Wildcard::wildcardfit("*_Bush_*", pName); - if(!result) { - printf("%s",pName); - } -#endif - return true; -} - -//======================================================= -/** -File contains map names that should be split into tiles -A '#' at the beginning of a line defines a comment -*/ - -/* bool readConfigFile(char *pConffile, VMAP::TileAssembler* pTa) -{ - bool result = false; - char buffer[501]; - FILE *cf = fopen(pConffile, "rb"); - if(cf) { - while(fgets(buffer, 500, cf)) { - std::string name = std::string(buffer); - size_t pos = name.find_first_not_of(' '); - name = name.substr(pos); - chompAndTrim(name); // just to be sure - if(name[0] != '#' && name.size() >0) { // comment? - unsigned int mapId = atoi(name.c_str()); - pTa->addWorldAreaMapId(mapId); - } - } - fclose(cf); - result = true; - } - return(result); -} */ -//======================================================= -int main(int argc, char* argv[]) -{ - if(argc != 3 && argc != 4) - { - printf("\nusage: %s [config file name]\n", argv[0]); - return 1; - } - - char *src = argv[1]; - char *dest = argv[2]; - char *conffile = NULL; - if(argc >= 4) - conffile = argv[3]; - - VMAP::TileAssembler* ta = new VMAP::TileAssembler(std::string(src), std::string(dest)); - ta->setModelNameFilterMethod(modelNameFilter); - - /* - All the names in the list are considered to be world maps or huge instances. - These maps will be spilt into tiles in the vmap assemble process - */ - /* if(conffile != NULL) - { - if(!readConfigFile(conffile, ta)) - { - printf("Can not open file config file: %s\n", conffile); - delete ta; - return 1; - } - } */ - - if(!ta->convertWorld2()) - { - printf("exit with errors\n"); - delete ta; - return 1; - } - - delete ta; - printf("Ok, all done\n"); - return 0; -} -- cgit v1.2.3 From ec580c8f686e71b91798cc104c2eb3f940f3ad16 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 8 Jun 2010 19:28:52 +0200 Subject: Some fixes for map_extractor cmake file --HG-- branch : trunk --- src/tools/map_extractor/CMakeLists.txt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src/tools') diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index 9052903b1ed..2e9cb3591f1 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -1,4 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project +# Copyright (C) 2005-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -9,18 +10,18 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. cmake_minimum_required (VERSION 2.6) -project (MANGOS_MAP_EXTRACTOR) +project (TRINITY_MAP_EXTRACTOR) + +file(GLOB sources *.cpp) -add_subdirectory (libmpq) add_subdirectory (loadlib) -include_directories (${MANGOS_MAP_EXTRACTOR_SOURCE_DIR}/libmpq) -include_directories (${MANGOS_MAP_EXTRACTOR_SOURCE_DIR}/loadlib) +include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) +include_directories (${CMAKE_SOURCE_DIR}/src/tools/map-extractor/loadlib) -link_directories (${MANGOS_MAP_EXTRACTOR_SOURCE_DIR}/libmpq) -link_directories (${MANGOS_MAP_EXTRACTOR_SOURCE_DIR}/loadlib) +link_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) +link_directories (${CMAKE_SOURCE_DIR}}/src/tools/map-extractor/loadlib) -add_executable (ad dbcfile.cpp mpq_libmpq.cpp System.cpp) +add_executable (trinity-map_extractor ${sources}) -target_link_libraries (ad libmpq) -target_link_libraries (ad loadlib) +target_link_libraries (trinity-map_extractor libmpq loadlib) -- cgit v1.2.3 From 220d4fa29c73a6706b9413f93be8c860867f4915 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 8 Jun 2010 21:11:07 +0200 Subject: More fixes for tools/ cmake files --HG-- branch : trunk --- src/tools/map_extractor/CMakeLists.txt | 6 ++- src/tools/vmap3_assembler/CMakeLists.txt | 77 +++++--------------------------- 2 files changed, 16 insertions(+), 67 deletions(-) (limited to 'src/tools') diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index 2e9cb3591f1..feb1c07f26b 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -13,8 +13,7 @@ cmake_minimum_required (VERSION 2.6) project (TRINITY_MAP_EXTRACTOR) file(GLOB sources *.cpp) - -add_subdirectory (loadlib) +file(GLOB loadlib_sources loadlib/*.cpp) include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) include_directories (${CMAKE_SOURCE_DIR}/src/tools/map-extractor/loadlib) @@ -22,6 +21,9 @@ include_directories (${CMAKE_SOURCE_DIR}/src/tools/map-extractor/loadlib) link_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) link_directories (${CMAKE_SOURCE_DIR}}/src/tools/map-extractor/loadlib) +add_library (loadlib ${loadlib_sources}) +target_link_libraries (loadlib zlib) + add_executable (trinity-map_extractor ${sources}) target_link_libraries (trinity-map_extractor libmpq loadlib) diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 42f9a972a25..c604334c830 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -1,4 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project +# Copyright (C) 2005-2009 MaNGOS Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -9,76 +10,22 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. cmake_minimum_required (VERSION 2.6) -project (MANGOS_VMAP_ASSEMB_IO) +#project (MANGOS_VMAP_ASSEMB_IO) -set(CMAKE_VERBOSE_MAKEFILE true) +#set(CMAKE_VERBOSE_MAKEFILE true) # uncomment next line to disable debug mode -ADD_DEFINITIONS("-DIOMAP_DEBUG") +#ADD_DEFINITIONS("-DIOMAP_DEBUG") +#ADD_DEFINITIONS("-Wall") +#ADD_DEFINITIONS("-ggdb") +#ADD_DEFINITIONS("-O3") -ADD_DEFINITIONS("-Wall") -ADD_DEFINITIONS("-ggdb") -ADD_DEFINITIONS("-O3") +include_directories(${CMAKE_SOURCE_FILE}/src/server/collision) +include_directories(${CMAKE_SOURCE_FILE}/externals/g3dlite) +include_directories(${ACE_INCLUDE_DIR}) -include_directories(../../src/server/shared/vmap/) -include_directories(../../dep/include/g3dlite/) -include_directories(../../dep/ACE_wrappers/) -include_directories(../../objdir/dep/ACE_wrappers) -include_directories(../../src/server/framework/) - -add_library(g3dlite ../../dep/src/g3dlite/AABox.cpp - ../../dep/src/g3dlite/Box.cpp - ../../dep/src/g3dlite/Crypto.cpp - ../../dep/src/g3dlite/format.cpp - ../../dep/src/g3dlite/Matrix3.cpp - ../../dep/src/g3dlite/Plane.cpp - ../../dep/src/g3dlite/System.cpp - ../../dep/src/g3dlite/Triangle.cpp - ../../dep/src/g3dlite/Vector3.cpp - ../../dep/src/g3dlite/Vector4.cpp - ../../dep/src/g3dlite/debugAssert.cpp - ../../dep/src/g3dlite/fileutils.cpp - ../../dep/src/g3dlite/g3dmath.cpp - ../../dep/src/g3dlite/g3dfnmatch.cpp - ../../dep/src/g3dlite/prompt.cpp - ../../dep/src/g3dlite/stringutils.cpp - ../../dep/src/g3dlite/Any.cpp - ../../dep/src/g3dlite/BinaryFormat.cpp - ../../dep/src/g3dlite/BinaryInput.cpp - ../../dep/src/g3dlite/BinaryOutput.cpp - ../../dep/src/g3dlite/Capsule.cpp - ../../dep/src/g3dlite/CollisionDetection.cpp - ../../dep/src/g3dlite/CoordinateFrame.cpp - ../../dep/src/g3dlite/Cylinder.cpp - ../../dep/src/g3dlite/Line.cpp - ../../dep/src/g3dlite/LineSegment.cpp - ../../dep/src/g3dlite/Log.cpp - ../../dep/src/g3dlite/Matrix4.cpp - ../../dep/src/g3dlite/MemoryManager.cpp - ../../dep/src/g3dlite/Quat.cpp - ../../dep/src/g3dlite/Random.cpp - ../../dep/src/g3dlite/Ray.cpp - ../../dep/src/g3dlite/ReferenceCount.cpp - ../../dep/src/g3dlite/Sphere.cpp - ../../dep/src/g3dlite/TextInput.cpp - ../../dep/src/g3dlite/TextOutput.cpp - ../../dep/src/g3dlite/UprightFrame.cpp - ../../dep/src/g3dlite/Vector2.cpp - ) - -add_library(vmap - ../../src/shared/vmap/BoundingIntervalHierarchy.cpp - ../../src/shared/vmap/VMapManager2.cpp - ../../src/shared/vmap/MapTree.cpp - ../../src/shared/vmap/TileAssembler.cpp - ../../src/shared/vmap/WorldModel.cpp - ../../src/shared/vmap/ModelInstance.cpp - ) - -target_link_libraries(vmap g3dlite z) - -add_executable(vmap_assembler VMapAssembler.cpp) -target_link_libraries(vmap_assembler vmap) +add_executable(trinity-collision_assembler VMapAssembler.cpp) +target_link_libraries(trinity-collision_assembler collision g3dlite) # add_executable(vmap_test coordinate_test.cpp) # target_link_libraries(vmap_test vmap) -- cgit v1.2.3 From 00d552ecd4bf9db8274d7d994cd942ac9f5938b8 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 8 Jun 2010 21:15:48 +0200 Subject: Fix typo. Ty Shauren --HG-- branch : trunk --- src/tools/vmap3_assembler/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index c604334c830..6739d36a2e8 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project -# Copyright (C) 2005-2009 MaNGOS Trinity +# Copyright (C) 2005-2009 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without -- cgit v1.2.3 From f5d44784e18846999461186041e67fc04ce8961a Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 8 Jun 2010 21:40:27 +0200 Subject: Fix some typos and remove parent merged cmake file --HG-- branch : trunk --- src/tools/map_extractor/CMakeLists.txt | 5 +++-- src/tools/map_extractor/loadlib/CMakeLists.txt | 13 ------------- src/tools/map_extractor/loadlib/loadlib.cpp | 2 +- 3 files changed, 4 insertions(+), 16 deletions(-) delete mode 100644 src/tools/map_extractor/loadlib/CMakeLists.txt (limited to 'src/tools') diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index feb1c07f26b..4f9b0a8c855 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -16,10 +16,11 @@ file(GLOB sources *.cpp) file(GLOB loadlib_sources loadlib/*.cpp) include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) -include_directories (${CMAKE_SOURCE_DIR}/src/tools/map-extractor/loadlib) +include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor) +include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor/loadlib) link_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) -link_directories (${CMAKE_SOURCE_DIR}}/src/tools/map-extractor/loadlib) +link_directories (${CMAKE_SOURCE_DIR}}/src/tools/map_extractor/loadlib) add_library (loadlib ${loadlib_sources}) target_link_libraries (loadlib zlib) diff --git a/src/tools/map_extractor/loadlib/CMakeLists.txt b/src/tools/map_extractor/loadlib/CMakeLists.txt deleted file mode 100644 index 5680c61d424..00000000000 --- a/src/tools/map_extractor/loadlib/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (C) 2005-2009 MaNGOS project -# -# This file is free software; as a special exception the author gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -add_library (loadlib loadlib.cpp adt.cpp wdt.cpp) -# link loadlib with zlib -target_link_libraries (loadlib z) diff --git a/src/tools/map_extractor/loadlib/loadlib.cpp b/src/tools/map_extractor/loadlib/loadlib.cpp index ed5bd9acb71..90d95ebfe35 100644 --- a/src/tools/map_extractor/loadlib/loadlib.cpp +++ b/src/tools/map_extractor/loadlib/loadlib.cpp @@ -1,7 +1,7 @@ #define _CRT_SECURE_NO_DEPRECATE #include "loadlib.h" -#include "../mpq_libmpq.h" +#include "mpq_libmpq.h" class MPQFile; -- cgit v1.2.3 From 275eff98bf20f7c74c58e1b7f7cfd503b72fada0 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 8 Jun 2010 22:43:04 +0200 Subject: some tools/vmap3_assembler/ cmake file fixes --HG-- branch : trunk --- src/tools/vmap3_assembler/CMakeLists.txt | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 6739d36a2e8..d273d128011 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -9,24 +9,15 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -cmake_minimum_required (VERSION 2.6) -#project (MANGOS_VMAP_ASSEMB_IO) - -#set(CMAKE_VERBOSE_MAKEFILE true) - -# uncomment next line to disable debug mode -#ADD_DEFINITIONS("-DIOMAP_DEBUG") -#ADD_DEFINITIONS("-Wall") -#ADD_DEFINITIONS("-ggdb") -#ADD_DEFINITIONS("-O3") - -include_directories(${CMAKE_SOURCE_FILE}/src/server/collision) -include_directories(${CMAKE_SOURCE_FILE}/externals/g3dlite) -include_directories(${ACE_INCLUDE_DIR}) +include_directories( + ${CMAKE_SOURCE_DIR}/externals/g3dlite + ${CMAKE_SOURCE_DIR}/src/server/collision/Maps + ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/server/shared + ${ACE_INCLUDE_DIR} +) add_executable(trinity-collision_assembler VMapAssembler.cpp) -target_link_libraries(trinity-collision_assembler collision g3dlite) +target_link_libraries(trinity-collision_assembler collision g3dlib) -# add_executable(vmap_test coordinate_test.cpp) -# target_link_libraries(vmap_test vmap) -- cgit v1.2.3 From 89dd005ff8ab2b2b1774de9798ea41dacb9c0398 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 8 Jun 2010 22:48:52 +0200 Subject: some vmap3_extractor/ cmake fixes --HG-- branch : trunk --- src/tools/vmap3_extractor/CMakeLists.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_extractor/CMakeLists.txt b/src/tools/vmap3_extractor/CMakeLists.txt index 51e867ec07e..9e978eda037 100644 --- a/src/tools/vmap3_extractor/CMakeLists.txt +++ b/src/tools/vmap3_extractor/CMakeLists.txt @@ -1,4 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project +# Copyright (C) 2005-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -8,9 +9,7 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -cmake_minimum_required (VERSION 2.6) -project (MANGOS_IOMAP_EXTRACTOR) +include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) -LINK_DIRECTORIES( ${LINK_DIRECTORIES} ../../libmpq/libmpq/.libs/ ) -add_executable(vmapextractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp) -target_link_libraries(vmapextractor mpq) +add_executable(trinity-vmap_extractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp) +target_link_libraries(trinity-vmap_extractor libmpq) -- cgit v1.2.3 From cc4413f6b462cc5071cc44dbba27d329d5d43571 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Wed, 9 Jun 2010 15:02:30 +0200 Subject: Change binary names for tools/ --HG-- branch : trunk --- src/server/shared/revision.h | 14 +++++++------- src/tools/map_extractor/CMakeLists.txt | 6 +++--- src/tools/vmap3_assembler/CMakeLists.txt | 4 ++-- src/tools/vmap3_extractor/CMakeLists.txt | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) (limited to 'src/tools') diff --git a/src/server/shared/revision.h b/src/server/shared/revision.h index f459116dc84..45cb714559a 100644 --- a/src/server/shared/revision.h +++ b/src/server/shared/revision.h @@ -1,12 +1,12 @@ #ifndef __REVISION_H__ #define __REVISION_H__ - #define _BUILD_DIRECTIVE "Debug" - #define _REVISION "8417" - #define _HASH "47972987739a" + #define _BUILD_DIRECTIVE "Release" + #define _REVISION "8549" + #define _HASH "7c4cd473d7cc" #define _REVISION_DATE "*" #define _REVISION_TIME "*" - #define FILEVER 0,0,8417,0 - #define PRODUCTVER 0,0,8417,0 - #define STRFILEVER "0, 0, 8417, 47972987739a" - #define STRPRODUCTVER "0, 0, 8417, 47972987739a" + #define FILEVER 0,0,8549,0 + #define PRODUCTVER 0,0,8549,0 + #define STRFILEVER "0, 0, 8549, 7c4cd473d7cc" + #define STRPRODUCTVER "0, 0, 8549, 7c4cd473d7cc" #endif // __REVISION_H__ diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index 4f9b0a8c855..23177d0bf68 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -19,12 +19,12 @@ include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor) include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor/loadlib) -link_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) +link_directories (${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq) link_directories (${CMAKE_SOURCE_DIR}}/src/tools/map_extractor/loadlib) add_library (loadlib ${loadlib_sources}) target_link_libraries (loadlib zlib) -add_executable (trinity-map_extractor ${sources}) +add_executable (map_extractor ${sources}) -target_link_libraries (trinity-map_extractor libmpq loadlib) +target_link_libraries (map_extractor libmpq loadlib) diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index d273d128011..29d24eaa9e2 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -17,7 +17,7 @@ include_directories( ${ACE_INCLUDE_DIR} ) -add_executable(trinity-collision_assembler VMapAssembler.cpp) -target_link_libraries(trinity-collision_assembler collision g3dlib) +add_executable(collision_assembler VMapAssembler.cpp) +target_link_libraries(collision_assembler collision g3dlib) diff --git a/src/tools/vmap3_extractor/CMakeLists.txt b/src/tools/vmap3_extractor/CMakeLists.txt index 9e978eda037..03d609bf60d 100644 --- a/src/tools/vmap3_extractor/CMakeLists.txt +++ b/src/tools/vmap3_extractor/CMakeLists.txt @@ -11,5 +11,5 @@ include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) -add_executable(trinity-vmap_extractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp) -target_link_libraries(trinity-vmap_extractor libmpq) +add_executable(collision_extractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp) +target_link_libraries(collision_extractor libmpq) -- cgit v1.2.3 From 2457c5a174e145b0812479c63bf56f3cdd03a79d Mon Sep 17 00:00:00 2001 From: Tartalo Date: Wed, 9 Jun 2010 15:39:34 +0200 Subject: Add copyright notes to CMake files --HG-- branch : trunk --- CMakeLists.txt | 10 ++++++++++ src/CMakeLists.txt | 10 ++++++++++ src/server/CMakeLists.txt | 10 ++++++++++ src/server/authserver/CMakeLists.txt | 12 +++++++++++- src/server/collision/CMakeLists.txt | 9 +++++++++ src/server/game/CMakeLists.txt | 12 ++++++++++++ src/server/scripts/CMakeLists.txt | 12 ++++++++++++ src/server/shared/CMakeLists.txt | 10 ++++++++++ src/server/worldserver/CMakeLists.txt | 11 ++++++++++- src/tools/CMakeLists.txt | 10 ++++++++++ src/tools/vmap3_assembler/CMakeLists.txt | 2 +- 11 files changed, 105 insertions(+), 3 deletions(-) (limited to 'src/tools') diff --git a/CMakeLists.txt b/CMakeLists.txt index bdb6a9c512b..4c143280e0b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,13 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + project(Trinity) cmake_minimum_required(VERSION 2.6) cmake_policy(SET CMP0005 OLD) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 205a3961677..76c3de027eb 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,3 +1,13 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + add_subdirectory(server) if(DO_TOOLS) diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index d975ef8f4c4..cf835f7ca66 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -1,3 +1,13 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + if(DO_WORLDSERVER) add_subdirectory(shared) add_subdirectory(game) diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt index 5d753a565c0..394841939c0 100644 --- a/src/server/authserver/CMakeLists.txt +++ b/src/server/authserver/CMakeLists.txt @@ -1,4 +1,14 @@ -########### next target ############### +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +########### authserver ############### SET(authserver_SRCS Authentication/AuthCodes.cpp diff --git a/src/server/collision/CMakeLists.txt b/src/server/collision/CMakeLists.txt index a058c14378b..1090b7ab0f7 100644 --- a/src/server/collision/CMakeLists.txt +++ b/src/server/collision/CMakeLists.txt @@ -1,3 +1,12 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ########### collision ############### diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index 8ae179a3772..8616c730d18 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -1,3 +1,15 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +######## game ######## + # Enable precompiled headers when using the GCC compiler. IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt index bd7ba5d5af9..28a137fe4d3 100644 --- a/src/server/scripts/CMakeLists.txt +++ b/src/server/scripts/CMakeLists.txt @@ -1,3 +1,15 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +####### scripts ######## + # Enable precompiled headers when using the GCC compiler. IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index 010c47fd706..6ff39c724de 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -1,3 +1,13 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + ########### shared ############### SET(shared_STAT_SRCS diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index 3203d1dfa2b..3cce53f1e3f 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -1,5 +1,14 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -########### next target ############### +########### worldserver ############### SET(worldserver_SRCS CommandLine/CliRunnable.cpp diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt index 1d891d39182..f960329674f 100644 --- a/src/tools/CMakeLists.txt +++ b/src/tools/CMakeLists.txt @@ -1,3 +1,13 @@ +# Copyright (C) 2005-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + add_subdirectory(map_extractor) add_subdirectory(vmap3_assembler) add_subdirectory(vmap3_extractor) diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 29d24eaa9e2..2088158af6a 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project -# Copyright (C) 2005-2009 Trinity +# Copyright (C) 2005-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without -- cgit v1.2.3 From bddfebb0c70ce3648f4d9447328113a539509609 Mon Sep 17 00:00:00 2001 From: Tartalo Date: Wed, 9 Jun 2010 17:20:06 +0200 Subject: add -v version option to map_extractor --HG-- branch : trunk --- src/tools/map_extractor/CMakeLists.txt | 4 +--- src/tools/map_extractor/System.cpp | 22 +++++++++++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'src/tools') diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index 23177d0bf68..a2ceff1fa73 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -9,12 +9,10 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -cmake_minimum_required (VERSION 2.6) -project (TRINITY_MAP_EXTRACTOR) - file(GLOB sources *.cpp) file(GLOB loadlib_sources loadlib/*.cpp) +include_directories (${CMAKE_SOURCE_DIR}/src/server/shared) include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor) include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor/loadlib) diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index 683f89ac11e..d5822c8d914 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -17,6 +17,8 @@ #include "loadlib/adt.h" #include "loadlib/wdt.h" #include +#include "revision.h" +#define _MAP_EXTRACTOR_VERSION 2 #if defined( __GNUC__ ) #define _open open @@ -33,6 +35,7 @@ #else #define OPEN_FLAGS (O_RDONLY | O_BINARY) #endif + extern ArchiveSet gOpenArchives; typedef struct @@ -120,6 +123,13 @@ void Usage(char* prg) exit(1); } +void Version(char* prg) +{ + printf("TrinityCore Rev: " _REVISION " " _BUILD_DIRECTIVE " Hash: " _HASH "\n"\ + "%s Ver: " _MAP_EXTRACTOR_VERSION, prg); + exit(0); +} + void HandleArgs(int argc, char * arg[]) { for(int c = 1; c < argc; ++c) @@ -135,13 +145,13 @@ void HandleArgs(int argc, char * arg[]) switch(arg[c][1]) { case 'i': - if(c + 1 < argc) // all ok + if (c + 1 < argc) // all ok strcpy(input_path, arg[(c++) + 1]); else Usage(arg[0]); break; case 'o': - if(c + 1 < argc) // all ok + if (c + 1 < argc) // all ok strcpy(output_path, arg[(c++) + 1]); else Usage(arg[0]); @@ -153,7 +163,7 @@ void HandleArgs(int argc, char * arg[]) Usage(arg[0]); break; case 'e': - if(c + 1 < argc) // all ok + if (c + 1 < argc) // all ok { CONF_extract=atoi(arg[(c++) + 1]); if(!(CONF_extract > 0 && CONF_extract < 4)) @@ -162,6 +172,12 @@ void HandleArgs(int argc, char * arg[]) else Usage(arg[0]); break; + case 'v': + if (c + 1 < argc) // all ok + Version(arg[0]); + else + Usage(arg[0]); + break; } } } -- cgit v1.2.3 From 39e793b2bdfe4623b24a0528fd4954814f7e3a4b Mon Sep 17 00:00:00 2001 From: click Date: Fri, 11 Jun 2010 05:01:30 +0200 Subject: Add extractors and assembler - EXTRACTION OF NEW MAPS IS REQUIRED! This will allow for easier testing of functionality between different projects, ie. one set of maps/vmaps instead of 2 (saves space, saves time and saves us some confusion). --HG-- branch : trunk --- externals/CMakeLists.txt | 5 +- externals/bzip2/CMakeLists.txt | 2 +- externals/libmpq/config.h | 74 ++++++ src/server/game/Maps/Map.cpp | 10 +- src/server/game/Maps/Map.h | 3 +- src/tools/map_extractor/CMakeLists.txt | 44 +++- src/tools/map_extractor/System.cpp | 141 ++++++---- src/tools/map_extractor/adt.cpp | 381 ---------------------------- src/tools/map_extractor/adt.h | 130 ---------- src/tools/map_extractor/dbcfile.cpp | 2 +- src/tools/map_extractor/loadlib/loadlib.cpp | 4 +- src/tools/map_extractor/mpq_libmpq.cpp | 61 ++--- src/tools/map_extractor/mpq_libmpq.h | 122 --------- src/tools/map_extractor/mpq_libmpq04.h | 91 +++++++ src/tools/vmap3_assembler/CMakeLists.txt | 6 +- src/tools/vmap3_extractor/CMakeLists.txt | 6 +- 16 files changed, 329 insertions(+), 753 deletions(-) create mode 100644 externals/libmpq/config.h delete mode 100644 src/tools/map_extractor/adt.cpp delete mode 100644 src/tools/map_extractor/adt.h delete mode 100644 src/tools/map_extractor/mpq_libmpq.h create mode 100644 src/tools/map_extractor/mpq_libmpq04.h (limited to 'src/tools') diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 320a40c7377..fea7526b9c8 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -1,7 +1,8 @@ #add_subdirectory(ace) -#add_subdirectory(bzip2) +#add_subdirectory(libmpq) + add_subdirectory(zlib) +add_subdirectory(bzip2) add_subdirectory(g3dlite) add_subdirectory(jemalloc) -#add_subdirectory(libmpq) add_subdirectory(sockets) diff --git a/externals/bzip2/CMakeLists.txt b/externals/bzip2/CMakeLists.txt index d0d1ac04bcd..ef857f462ab 100644 --- a/externals/bzip2/CMakeLists.txt +++ b/externals/bzip2/CMakeLists.txt @@ -1,4 +1,4 @@ -file(GLOB sources *.cpp) +file(GLOB sources *.c) set(bzip2_STAT_SRCS ${sources} ) diff --git a/externals/libmpq/config.h b/externals/libmpq/config.h new file mode 100644 index 00000000000..c69fb13211b --- /dev/null +++ b/externals/libmpq/config.h @@ -0,0 +1,74 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ +#define HAVE_FSEEKO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `bz2' library (-lbz2). */ +#define HAVE_LIBBZ2 1 + +/* Define to 1 if you have the `z' library (-lz). */ +#define HAVE_LIBZ 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#define PACKAGE "libmpq" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "mbroemme@plusserver.de" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libmpq" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libmpq 0.4.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libmpq" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.4.2" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "0.4.2" + +/* Number of bits in a file offset, on hosts where this is settable. */ +#define _FILE_OFFSET_BITS 64 + +/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ +/* #undef _LARGEFILE_SOURCE */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 12d7f14090a..ee8fc3fd6da 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -94,10 +94,9 @@ bool Map::ExistMap(uint32 mapid,int gx,int gy) map_fileheader header; fread(&header, sizeof(header), 1, pf); - if (header.mapMagic != uint32(MAP_MAGIC) || - header.versionMagic != uint32(MAP_VERSION_MAGIC)) + if (header.mapMagic != uint32(MAP_MAGIC) || header.versionMagic != uint32(MAP_VERSION_MAGIC)) { - sLog.outError("Map file '%s' is non-compatible version (outdated?). Please, create new using ad.exe program.",tmp); + sLog.outError("Map file '%s' is from an incompatible clientversion. Please recreate using the mapextractor.",tmp); delete [] tmp; fclose(pf); //close file before return return false; @@ -1209,8 +1208,7 @@ bool GridMap::loadData(char *filename) if (!in) return true; fread(&header, sizeof(header),1,in); - if (header.mapMagic == uint32(MAP_MAGIC) && - header.versionMagic == uint32(MAP_VERSION_MAGIC)) + if (header.mapMagic == uint32(MAP_MAGIC) && header.versionMagic == uint32(MAP_VERSION_MAGIC)) { // loadup area data if (header.areaMapOffset && !loadAreaData(in, header.areaMapOffset, header.areaMapSize)) @@ -1236,7 +1234,7 @@ bool GridMap::loadData(char *filename) fclose(in); return true; } - sLog.outError("Map file '%s' is a non-compatible version (outdated?). Please, create new using the ad.exe program.", filename); + sLog.outError("Map file '%s' is from an incompatible clientversion. Please recreate using the mapextractor.", filename); fclose(in); return false; } diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index d2d442ca4cd..d17dc10ec07 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -57,7 +57,7 @@ class BattleGround; // Map file format defines //****************************************** #define MAP_MAGIC 'SPAM' -#define MAP_VERSION_MAGIC '0.1w' +#define MAP_VERSION_MAGIC '1.1v' #define MAP_AREA_MAGIC 'AERA' #define MAP_HEIGHT_MAGIC 'TGHM' #define MAP_LIQUID_MAGIC 'QILM' @@ -66,6 +66,7 @@ struct map_fileheader { uint32 mapMagic; uint32 versionMagic; + uint32 buildMagic; uint32 areaMapOffset; uint32 areaMapSize; uint32 heightMapOffset; diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index a2ceff1fa73..8e7fa0df891 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -12,17 +12,41 @@ file(GLOB sources *.cpp) file(GLOB loadlib_sources loadlib/*.cpp) -include_directories (${CMAKE_SOURCE_DIR}/src/server/shared) -include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) -include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor) -include_directories (${CMAKE_SOURCE_DIR}/src/tools/map_extractor/loadlib) +include_directories ( + ${CMAKE_SOURCE_DIR}/src/server/shared + ${CMAKE_SOURCE_DIR}/externals/libmpq + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/loadlib +) -link_directories (${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq) -link_directories (${CMAKE_SOURCE_DIR}}/src/tools/map_extractor/loadlib) +link_directories( + ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq + ${CMAKE_CURRENT_SOURCE_DIR}}/loadlib +) -add_library (loadlib ${loadlib_sources}) -target_link_libraries (loadlib zlib) +add_library(loadlib + ${loadlib_sources} +) -add_executable (map_extractor ${sources}) +target_link_libraries(loadlib zlib) -target_link_libraries (map_extractor libmpq loadlib) +add_library(libmpq + ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/common.c + ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/explode.c + ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/extract.c + ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/huffman.c + ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/mpq.c + ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/wave.c +) + +add_executable(mapextractor + ${sources} +) + +target_link_libraries(mapextractor + libmpq + loadlib + bzip2 +) + +install(TARGETS mapextractor DESTINATION bin) diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index d5822c8d914..6abe2364cd6 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -12,13 +12,11 @@ #endif #include "dbcfile.h" -#include "mpq_libmpq.h" +#include "mpq_libmpq04.h" #include "loadlib/adt.h" #include "loadlib/wdt.h" #include -#include "revision.h" -#define _MAP_EXTRACTOR_VERSION 2 #if defined( __GNUC__ ) #define _open open @@ -35,7 +33,6 @@ #else #define OPEN_FLAGS (O_RDONLY | O_BINARY) #endif - extern ArchiveSet gOpenArchives; typedef struct @@ -123,13 +120,6 @@ void Usage(char* prg) exit(1); } -void Version(char* prg) -{ - printf("TrinityCore Rev: " _REVISION " " _BUILD_DIRECTIVE " Hash: " _HASH "\n"\ - "%s Ver: " _MAP_EXTRACTOR_VERSION, prg); - exit(0); -} - void HandleArgs(int argc, char * arg[]) { for(int c = 1; c < argc; ++c) @@ -145,13 +135,13 @@ void HandleArgs(int argc, char * arg[]) switch(arg[c][1]) { case 'i': - if (c + 1 < argc) // all ok + if(c + 1 < argc) // all ok strcpy(input_path, arg[(c++) + 1]); else Usage(arg[0]); break; case 'o': - if (c + 1 < argc) // all ok + if(c + 1 < argc) // all ok strcpy(output_path, arg[(c++) + 1]); else Usage(arg[0]); @@ -163,7 +153,7 @@ void HandleArgs(int argc, char * arg[]) Usage(arg[0]); break; case 'e': - if (c + 1 < argc) // all ok + if(c + 1 < argc) // all ok { CONF_extract=atoi(arg[(c++) + 1]); if(!(CONF_extract > 0 && CONF_extract < 4)) @@ -172,16 +162,47 @@ void HandleArgs(int argc, char * arg[]) else Usage(arg[0]); break; - case 'v': - if (c + 1 < argc) // all ok - Version(arg[0]); - else - Usage(arg[0]); - break; } } } +uint32 ReadBuild(int locale) +{ + // include build info file also + std::string filename = std::string("component.wow-")+langs[locale]+".txt"; + //printf("Read %s file... ", filename.c_str()); + + MPQFile m(filename.c_str()); + if(m.isEof()) + { + printf("Fatal error: Not found %s file!\n", filename.c_str()); + exit(1); + } + + std::string text = m.getPointer(); + m.close(); + + size_t pos = text.find("version=\""); + size_t pos1 = pos + strlen("version=\""); + size_t pos2 = text.find("\"",pos1); + if (pos == text.npos || pos2 == text.npos || pos1 >= pos2) + { + printf("Fatal error: Invalid %s file format!\n", filename.c_str()); + exit(1); + } + + std::string build_str = text.substr(pos1,pos2-pos1); + + int build = atoi(build_str.c_str()); + if (build <= 0) + { + printf("Fatal error: Invalid %s file format!\n", filename.c_str()); + exit(1); + } + + return build; +} + uint32 ReadMapDBC() { printf("Read Map.dbc file... "); @@ -254,16 +275,17 @@ void ReadLiquidTypeTableDBC() // // Map file format data -#define MAP_MAGIC 'SPAM' -#define MAP_VERSION_MAGIC '0.1w' -#define MAP_AREA_MAGIC 'AERA' -#define MAP_HEIGHT_MAGIC 'TGHM' -#define MAP_LIQUID_MAGIC 'QILM' +static char const* MAP_MAGIC = "MAPS"; +static char const* MAP_VERSION_MAGIC = "v1.1"; +static char const* MAP_AREA_MAGIC = "AREA"; +static char const* MAP_HEIGHT_MAGIC = "MHGT"; +static char const* MAP_LIQUID_MAGIC = "MLIQ"; struct map_fileheader { uint32 mapMagic; uint32 versionMagic; + uint32 buildMagic; uint32 areaMapOffset; uint32 areaMapSize; uint32 heightMapOffset; @@ -341,7 +363,7 @@ uint8 liquid_type[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID]; bool liquid_show[ADT_GRID_SIZE][ADT_GRID_SIZE]; float liquid_height[ADT_GRID_SIZE+1][ADT_GRID_SIZE+1]; -bool ConvertADT(char *filename, char *filename2, int cell_y, int cell_x) +bool ConvertADT(char *filename, char *filename2, int cell_y, int cell_x, uint32 build) { ADT_file adt; @@ -360,8 +382,9 @@ bool ConvertADT(char *filename, char *filename2, int cell_y, int cell_x) // Prepare map header map_fileheader map; - map.mapMagic = MAP_MAGIC; - map.versionMagic = MAP_VERSION_MAGIC; + map.mapMagic = *(uint32 const*)MAP_MAGIC; + map.versionMagic = *(uint32 const*)MAP_VERSION_MAGIC; + map.buildMagic = build; // Get area flags data for (int i=0;i dbcfiles; + std::set dbcfiles; // get DBC file list for(ArchiveSet::iterator i = gOpenArchives.begin(); i != gOpenArchives.end();++i) @@ -910,7 +949,7 @@ void ExtractDBCFiles(int locale, bool basicLocale) dbcfiles.insert(*iter); } - string path = output_path; + std::string path = output_path; path += "/dbc/"; CreateDir(path); if(!basicLocale) @@ -920,6 +959,14 @@ void ExtractDBCFiles(int locale, bool basicLocale) CreateDir(path); } + // extract Build info file + { + string mpq_name = std::string("component.wow-") + langs[locale] + ".txt"; + string filename = path + mpq_name; + + ExtractFile(mpq_name.c_str(), filename); + } + // extract DBCs int count = 0; for (set::iterator iter = dbcfiles.begin(); iter != dbcfiles.end(); ++iter) @@ -927,18 +974,8 @@ void ExtractDBCFiles(int locale, bool basicLocale) string filename = path; filename += (iter->c_str() + strlen("DBFilesClient\\")); - FILE *output = fopen(filename.c_str(), "wb"); - if(!output) - { - printf("Can't create the output file '%s'\n", filename.c_str()); - continue; - } - MPQFile m(iter->c_str()); - if(!m.isEof()) - fwrite(m.getPointer(), 1, m.getSize(), output); - - fclose(output); - ++count; + if(ExtractFile(iter->c_str(), filename)) + ++count; } printf("Extracted %u DBC files\n\n", count); } @@ -988,6 +1025,7 @@ int main(int argc, char * arg[]) HandleArgs(argc, arg); int FirstLocale = -1; + uint32 build = 0; for (int i = 0; i < LANG_COUNT; i++) { @@ -1003,14 +1041,18 @@ int main(int argc, char * arg[]) if((CONF_extract & EXTRACT_DBC) == 0) { FirstLocale = i; + build = ReadBuild(FirstLocale); + printf("Detected client build: %u\n", build); break; } //Extract DBC files if(FirstLocale < 0) { - ExtractDBCFiles(i, true); FirstLocale = i; + build = ReadBuild(FirstLocale); + printf("Detected client build: %u\n", build); + ExtractDBCFiles(i, true); } else ExtractDBCFiles(i, false); @@ -1035,7 +1077,7 @@ int main(int argc, char * arg[]) LoadCommonMPQFiles(); // Extract maps - ExtractMapsFromMpq(); + ExtractMapsFromMpq(build); // Close MPQs CloseMPQFiles(); @@ -1043,4 +1085,3 @@ int main(int argc, char * arg[]) return 0; } - diff --git a/src/tools/map_extractor/adt.cpp b/src/tools/map_extractor/adt.cpp deleted file mode 100644 index fcbfc95a072..00000000000 --- a/src/tools/map_extractor/adt.cpp +++ /dev/null @@ -1,381 +0,0 @@ -#define _CRT_SECURE_NO_DEPRECATE - -#ifdef WIN32 -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "adt.h" -#include "mpq_libmpq.h" - -extern uint16 *areas; -extern uint16 *LiqType; -extern uint32 maxAreaId; - -vec wmoc; - -Cell *cell; -mcell *mcells; -int holetab_h[4] = {0x1111, 0x2222, 0x4444, 0x8888}; -int holetab_v[4] = {0x000F, 0x00F0, 0x0F00, 0xF000}; - -bool LoadADT(char* filename) -{ - size_t size; - MPQFile mf(filename); - - if(mf.isEof()) - { - //printf("No such file %s\n", filename); - return false; - } - - MapLiqFlag = new uint8[256]; - for(uint32 j = 0; j < 256; ++j) - MapLiqFlag[j] = 0; // no water - - MapLiqHeight = new float[16384]; - for(uint32 j = 0; j < 16384; ++j) - MapLiqHeight[j] = -999999; // no water - - mcells = new mcell; - - wmoc.x = 65 * TILESIZE; - wmoc.z = 65 * TILESIZE; - - size_t mcnk_offsets[256], mcnk_sizes[256]; - - chunk_num = 0; - k = 0; - m = 0; - while (!mf.isEof()) - { - uint32 fourcc; - mf.read(&fourcc, 4); - mf.read(&size, 4); - - size_t nextpos = mf.getPos() + size; - - //if(fourcc==0x4d484452) // MHDR header - //if(fourcc==0x4d564552) // MVER - if(fourcc == 0x4d43494e) // MCIN - { - for (uint32 i = 0; i < 256; ++i) - { - mf.read(&mcnk_offsets[i], 4); - mf.read(&mcnk_sizes[i], 4); - mf.seekRelative(8); - } - } - //if(fourcc == 0x4d544558) // MTEX textures (strings) - //if(fourcc == 0x4d4d4458) // MMDX m2 models (strings) - //if(fourcc == 0x4d4d4944) // MMID offsets for strings in MMDX - //if(fourcc == 0x4d574d4f) // MWMO - //if(fourcc == 0x4d574944) // MWID offsets for strings in MWMO - //if(fourcc == 0x4d444446) // MDDF - //if(fourcc == 0x4d4f4446) // MODF - if(fourcc == 0x4d48324f) // MH2O new in WotLK - { - // здес?надо запомнит?базову?позици??файл?тк вс?смещен? буду?от него - uint32 base_pos = mf.getPos(); - uint32 header_pos = 0; - MH2O_offsData *LiqOffsData = new MH2O_offsData; - MH2O_Data1 *LiqChunkData1 = new MH2O_Data1; - float *ChunkLiqHeight = new float[81]; - for(chunk_num = 0; chunk_num < 256; ++chunk_num) - { - mf.read(LiqOffsData, 0x0C); - header_pos = mf.getPos(); - if(LiqOffsData->offsData1 != 0) // если данные ?Data1 ?воде есть, то их надо конвертировать - { - // перехо?по смещению из offsData1 ОТ ЧА?куск? - mf.seek(base_pos + LiqOffsData->offsData1); - mf.read(LiqChunkData1, 0x18); // считывае?сами данные ?структур?типа MH2O_Data1 - // заноси?данные флаг?для куск? - if(LiqType[LiqChunkData1->LiquidTypeId] == 0xffff) - printf("\nCan't find Liquid type for map %s\nchunk %d\n", filename, chunk_num); - else if(LiqType[LiqChunkData1->LiquidTypeId] == LIQUID_TYPE_WATER || LiqType[LiqChunkData1->LiquidTypeId] == LIQUID_TYPE_OCEAN) - MapLiqFlag[chunk_num] |= 1; // water/ocean - else if(LiqType[LiqChunkData1->LiquidTypeId] == LIQUID_TYPE_MAGMA || LiqType[LiqChunkData1->LiquidTypeId] == LIQUID_TYPE_SLIME) - MapLiqFlag[chunk_num] |= 2; // magma/slime - // предварительно заполняем весь кусо?данным?- не?воды - for(int j = 0; j < 81; ++j) - { - ChunkLiqHeight[j] = -999999; // no liquid/water - } - // теперь вычисляем те чт??водо??перезаписываем их ?куск? - for(int b = 0; b <= LiqChunkData1->height; ++b) - { - for(int c = LiqChunkData1->xOffset; c <= (LiqChunkData1->xOffset + LiqChunkData1->width); ++c) - { - int n = (9 * (LiqChunkData1->yOffset + b)) + c; - ChunkLiqHeight[n] = LiqChunkData1->heightLevel1; - } - } - mf.seek(header_pos); // ?не забыть вернуться на исходную позици?именно ?ХИДЕРЕ - } - else // если данных ?Data1 не? то надо заполнит?весь кусо? но данным?- не?воды - { - for(int j = 0; j < 81; ++j) - ChunkLiqHeight[j] = -999999; // no liquid/water - } - - if(!(chunk_num % 16)) - m = 1024 * (chunk_num / 16); // смещение по ?да?кусков ?перекрытие?= 1024 - k = m + (chunk_num % 16) * 8; // устанавливаемся на начальны?индекс для заполнен? ?да - // заноси?данные куск??массив для карт? ?перекрытие??обрезанием кусков тк данных 81 - // эт?аналог старог?обрезания граничны?правых-боковы??нижних данных - for(int p = 0; p < 72; p += 9) // нижние 8 не заноси?тк он?дублируется след куском - { - for(int s = 0; s < 8; ++s) // 9 значение ?строке не заноси?тк он?дублируется след куском, ??првы?боковы?обрезает? для 128?28 - { - MapLiqHeight[k] = ChunkLiqHeight[p + s]; - ++k; - } - k = k + 120; - } - } - delete LiqOffsData; - delete LiqChunkData1; - delete []ChunkLiqHeight; - - } - //case 0x4d434e4b: // MCNK - //case 0x4d46424f: // MFBO new in BC - //case 0x4d545846: // MTXF new in WotLK - mf.seek(nextpos); - } - - //printf("Loading chunks info\n"); - // read individual map chunks - chunk_num = 0; - k = 0; - m = 0; - for (int j = 0; j < 16; ++j) - { - for (int i = 0; i < 16; ++i) - { - mf.seek((int)mcnk_offsets[j * 16 + i]); - LoadMapChunk(mf, &(mcells->ch[i][j])); - ++chunk_num; - } - } - mf.close(); - return true; -} - -bool isHole(int holes, int i, int j) -{ - int testi = i / 2; - int testj = j / 4; - if(testi > 3) testi = 3; - if(testj > 3) testj = 3; - return (holes & holetab_h[testi] & holetab_v[testj]) != 0; -} - -inline void LoadMapChunk(MPQFile &mf, chunk *_chunk) -{ - float h; - uint32 fourcc; - uint32 size; - MapChunkHeader header; - - mf.seekRelative(4); - mf.read(&size, 4); - - size_t lastpos = mf.getPos() + size; - mf.read(&header, 0x80); // what if header size got changed? - _chunk->area_id = header.areaid; - - float xbase = header.xpos; - float ybase = header.ypos; - float zbase = header.zpos; - zbase = TILESIZE * 32 - zbase; - xbase = TILESIZE * 32 - xbase; - if(wmoc.x > xbase) wmoc.x = xbase; - if(wmoc.z > zbase) wmoc.z = zbase; - int chunkflags = header.flags; - //printf("LMC: flags %X\n", chunkflags); - float zmin = 999999999.0f; - float zmax = -999999999.0f; - // must be there, bl!zz uses some crazy format - while (mf.getPos() < lastpos) - { - mf.read(&fourcc, 4); - mf.read(&size, 4); - size_t nextpos = mf.getPos() + size; - if(fourcc == 0x4d435654) // MCVT - { - for (int j = 0; j < 17; ++j) - { - for (int i = 0; i < ((j % 2) ? 8 : 9); ++i) - { - mf.read(&h, 4); - float z = h + ybase; - if (j % 2) - { - if(isHole(header.holes, i, j)) - _chunk->v8[i][j / 2] = -1000; - else - _chunk->v8[i][j / 2] = z; - } - else - { - if(isHole(header.holes, i, j)) - _chunk->v9[i][j / 2] = -1000; - else - _chunk->v9[i][j / 2] = z; - } - - if(z > zmax) zmax = z; - //if(z < zmin) zmin = z; - } - } - } - else if(fourcc == 0x4d434e52) // MCNR - { - nextpos = mf.getPos() + 0x1C0; // size fix - } - else if(fourcc == 0x4d434c51) // не буде?учитыват?если уж?были данные ?MH2O, перестраховк?:) // MCLQ - { - // liquid / water level - char fcc1[5]; - mf.read(fcc1, 4); - flipcc(fcc1); - fcc1[4] = 0; - float *ChunkLiqHeight = new float[81]; - - if (!strcmp(fcc1, "MCSE")) - { - for(int j = 0; j < 81; ++j) - { - ChunkLiqHeight[j] = -999999; // no liquid/water - } - } - else - { - float maxheight; - mf.read(&maxheight, 4); - for(int j = 0; j < 81; ++j) - { - LiqData liq; - mf.read(&liq, 8); - - if(liq.height > maxheight) - ChunkLiqHeight[j] = -999999; - else - ChunkLiqHeight[j] = h; - } - - if(chunkflags & 4 || chunkflags & 8) - MapLiqFlag[chunk_num] |= 1; // water - if(chunkflags & 16) - MapLiqFlag[chunk_num] |= 2; // magma/slime - } - // аполне?та?же ка??MH2O - if(!(chunk_num % 16)) - m = 1024 * (chunk_num / 16); - k = m + (chunk_num % 16) * 8; - - for(int p = 0; p < 72; p += 9) - { - for(int s = 0; s < 8; ++s) - { - MapLiqHeight[k] = ChunkLiqHeight[p + s]; - ++k; - } - k = k + 120; - } - delete []ChunkLiqHeight; - break; - } - mf.seek(nextpos); - } -} - -inline void TransformData() -{ - cell = new Cell; - - for(uint32 x = 0; x < 128; ++x) - { - for(uint32 y = 0; y < 128; ++y) - { - cell->v8[y][x] = (float)mcells->ch[x / 8][y / 8].v8[x % 8][y % 8]; - cell->v9[y][x] = (float)mcells->ch[x / 8][y / 8].v9[x % 8][y % 8]; - } - - // extra 1 point on bounds - cell->v9[128][x] = (float)mcells->ch[x / 8][15].v9[x % 8][8]; - // x == y - cell->v9[x][128] = (float)mcells->ch[15][x / 8].v9[8][x % 8]; - } - - // and the last 1 - cell->v9[128][128] = (float)mcells->ch[15][15].v9[8][8]; - - delete mcells; -} - -const char MAP_MAGIC[] = "MAP_3.00"; - -bool ConvertADT(char *filename, char *filename2) -{ - if(!LoadADT(filename)) - return false; - - FILE *output=fopen(filename2, "wb"); - if(!output) - { - printf("Can't create the output file '%s'\n", filename2); - delete [] MapLiqHeight; - delete [] MapLiqFlag; - return false; - } - - // write magic header - fwrite(MAP_MAGIC, 1, 8, output); - - for(uint32 x = 0; x < 16; ++x) - { - for(uint32 y = 0; y < 16; ++y) - { - if(mcells->ch[y][x].area_id && mcells->ch[y][x].area_id <= maxAreaId) - { - if(areas[mcells->ch[y][x].area_id] == 0xffff) - printf("\nCan't find area flag for areaid %u.\n", mcells->ch[y][x].area_id); - - fwrite(&areas[mcells->ch[y][x].area_id], 1, 2, output); - } - else - { - uint16 flag = 0xffff; - fwrite(&flag, 1, 2, output); - } - } - } - - fwrite(MapLiqFlag, 1, 256, output); - delete [] MapLiqFlag; - - fwrite(MapLiqHeight, sizeof(float), 16384, output); - delete [] MapLiqHeight; - - TransformData(); - - - fwrite(&cell->v9, 1, sizeof(cell->v9), output); - fwrite(&cell->v8, 1, sizeof(cell->v8), output); - fclose(output); - delete cell; - - return true; -} - diff --git a/src/tools/map_extractor/adt.h b/src/tools/map_extractor/adt.h deleted file mode 100644 index 516ed88a86e..00000000000 --- a/src/tools/map_extractor/adt.h +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef ADT_H -#define ADT_H - -#define TILESIZE (533.33333f) -#define CHUNKSIZE ((TILESIZE) / 16.0f) -#define UNITSIZE (CHUNKSIZE / 8.0f) - -typedef unsigned char uint8; -typedef unsigned short uint16; -typedef unsigned int uint32; -class Liquid; -typedef struct -{ - float x; - float y; - float z; -} svec; - -typedef struct -{ - double x; - double y; - double z; -} vec; - -typedef struct -{ - vec v[3]; -} triangle; - -typedef struct -{ - float v9[16 * 8 + 1][16 * 8 + 1]; - float v8[16 * 8][16 * 8]; -} Cell; - -typedef struct -{ - double v9[9][9]; - double v8[8][8]; - uint16 area_id; -} chunk; - -typedef struct -{ - chunk ch[16][16]; -} mcell; - -struct MapChunkHeader -{ - uint32 flags; - uint32 ix; - uint32 iy; - uint32 nLayers; - uint32 nDoodadRefs; - uint32 ofsHeight; - uint32 ofsNormal; - uint32 ofsLayer; - uint32 ofsRefs; - uint32 ofsAlpha; - uint32 sizeAlpha; - uint32 ofsShadow; - uint32 sizeShadow; - uint32 areaid; - uint32 nMapObjRefs; - uint32 holes; - uint16 s1; - uint16 s2; - uint32 d1; - uint32 d2; - uint32 d3; - uint32 predTex; - uint32 nEffectDoodad; - uint32 ofsSndEmitters; - uint32 nSndEmitters; - uint32 ofsLiquid; // not use in WotLK - uint32 sizeLiquid; // not use in WotLK - float zpos; - float xpos; - float ypos; - uint32 textureId; // new offsColorValues in WotLK - uint32 props; - uint32 effectId; -}; - -typedef struct -{ - uint32 offsData1; - uint32 used; - uint32 offsData2; -} MH2O_offsData; - -typedef struct -{ - uint16 LiquidTypeId; - uint16 type; - float heightLevel1; - float heightLevel2; - uint8 xOffset; - uint8 yOffset; - uint8 width; - uint8 height; - uint32 ofsData2a; - uint32 ofsData2b; -} MH2O_Data1; - -typedef struct -{ - uint16 unk1; - uint16 unk2; - float height; -} LiqData; - -enum LiquidType -{ - LIQUID_TYPE_WATER = 0, - LIQUID_TYPE_OCEAN = 1, - LIQUID_TYPE_MAGMA = 2, - LIQUID_TYPE_SLIME = 3 -}; - -class MPQFile; - -float *MapLiqHeight; -uint8 *MapLiqFlag; -uint32 k, m, chunk_num; -void LoadMapChunk(MPQFile &, chunk*); -#endif - - diff --git a/src/tools/map_extractor/dbcfile.cpp b/src/tools/map_extractor/dbcfile.cpp index dd58ac1b4a6..927d3d62b7f 100644 --- a/src/tools/map_extractor/dbcfile.cpp +++ b/src/tools/map_extractor/dbcfile.cpp @@ -1,7 +1,7 @@ #define _CRT_SECURE_NO_DEPRECATE #include "dbcfile.h" -#include "mpq_libmpq.h" +#include "mpq_libmpq04.h" DBCFile::DBCFile(const std::string &filename): filename(filename), diff --git a/src/tools/map_extractor/loadlib/loadlib.cpp b/src/tools/map_extractor/loadlib/loadlib.cpp index 90d95ebfe35..e2dd2d79d85 100644 --- a/src/tools/map_extractor/loadlib/loadlib.cpp +++ b/src/tools/map_extractor/loadlib/loadlib.cpp @@ -1,7 +1,7 @@ #define _CRT_SECURE_NO_DEPRECATE #include "loadlib.h" -#include "mpq_libmpq.h" +#include "mpq_libmpq04.h" class MPQFile; @@ -61,4 +61,4 @@ void FileLoader::free() data = 0; data_size = 0; version = 0; -} \ No newline at end of file +} diff --git a/src/tools/map_extractor/mpq_libmpq.cpp b/src/tools/map_extractor/mpq_libmpq.cpp index 2a066a83b34..72a9de460eb 100644 --- a/src/tools/map_extractor/mpq_libmpq.cpp +++ b/src/tools/map_extractor/mpq_libmpq.cpp @@ -1,44 +1,30 @@ -#include "mpq_libmpq.h" +#include "mpq_libmpq04.h" #include +#include ArchiveSet gOpenArchives; MPQArchive::MPQArchive(const char* filename) { - int result = libmpq_archive_open(&mpq_a, (unsigned char*)filename); + int result = libmpq__archive_open(&mpq_a, filename, -1); printf("Opening %s\n", filename); if(result) { switch(result) { - case LIBMPQ_EFILE : /* error on file operation */ - printf("Error opening archive '%s': File operation Error\n", filename); + case LIBMPQ_ERROR_OPEN : + printf("Error opening archive '%s': Does file really exist?\n", filename); break; - case LIBMPQ_EFILE_FORMAT : /* bad file format */ + case LIBMPQ_ERROR_FORMAT : /* bad file format */ printf("Error opening archive '%s': Bad file format\n", filename); break; - case LIBMPQ_EFILE_CORRUPT : /* file corrupt */ - printf("Error opening archive '%s': File corrupt\n", filename); + case LIBMPQ_ERROR_SEEK : /* seeking in file failed */ + printf("Error opening archive '%s': Seeking in file failed\n", filename); break; - case LIBMPQ_EFILE_NOT_FOUND : /* file in archive not found */ - printf("Error opening archive '%s': File in archive not found\n", filename); - break; - case LIBMPQ_EFILE_READ : /* Read error in archive */ + case LIBMPQ_ERROR_READ : /* Read error in archive */ printf("Error opening archive '%s': Read error in archive\n", filename); break; - case LIBMPQ_EALLOCMEM : /* maybe not enough memory? :) */ + case LIBMPQ_ERROR_MALLOC : /* maybe not enough memory? :) */ printf("Error opening archive '%s': Maybe not enough memory\n", filename); break; - case LIBMPQ_EFREEMEM : /* can not free memory */ - printf("Error opening archive '%s': Cannot free memory\n", filename); - break; - case LIBMPQ_EINV_RANGE : /* Given filenumber is out of range */ - printf("Error opening archive '%s': Given filenumber is out of range\n", filename); - break; - case LIBMPQ_EHASHTABLE : /* error in reading hashtable */ - printf("Error opening archive '%s': Error in reading hashtable\n", filename); - break; - case LIBMPQ_EBLOCKTABLE : /* error in reading blocktable */ - printf("Error opening archive '%s': Error in reading blocktable\n", filename); - break; default: printf("Error opening archive '%s': Unknown error\n", filename); break; @@ -51,7 +37,7 @@ MPQArchive::MPQArchive(const char* filename) void MPQArchive::close() { //gOpenArchives.erase(erase(&mpq_a); - libmpq_archive_close(&mpq_a); + libmpq__archive_close(mpq_a); } MPQFile::MPQFile(const char* filename): @@ -62,25 +48,16 @@ MPQFile::MPQFile(const char* filename): { for(ArchiveSet::iterator i=gOpenArchives.begin(); i!=gOpenArchives.end();++i) { - mpq_archive &mpq_a = (*i)->mpq_a; + mpq_archive *mpq_a = (*i)->mpq_a; - mpq_hash hash = (*i)->GetHashEntry(filename); - uint32 blockindex = hash.blockindex; + uint32_t filenum; + if(libmpq__file_number(mpq_a, filename, &filenum)) continue; + libmpq__off_t transferred; + libmpq__file_unpacked_size(mpq_a, filenum, &size); - if ((blockindex == 0xFFFFFFFF) || (blockindex == 0)) { - continue; //file not found - } - - uint32 fileno = blockindex; - - //int fileno = libmpq_file_number(&mpq_a, filename); - //if(fileno == LIBMPQ_EFILE_NOT_FOUND) - // continue; - - // Found! - size = libmpq_file_info(&mpq_a, LIBMPQ_FILE_UNCOMPRESSED_SIZE, fileno); // HACK: in patch.mpq some files don't want to open and give 1 for filesize if (size<=1) { + printf("warning: file %s has size %d; cannot read.\n", filename, size); eof = true; buffer = 0; return; @@ -88,7 +65,8 @@ MPQFile::MPQFile(const char* filename): buffer = new char[size]; //libmpq_file_getdata - libmpq_file_getdata(&mpq_a, hash, fileno, (unsigned char*)buffer); + libmpq__file_read(mpq_a, filenum, (unsigned char*)buffer, size, &transferred); + /*libmpq_file_getdata(&mpq_a, hash, fileno, (unsigned char*)buffer);*/ return; } @@ -131,4 +109,3 @@ void MPQFile::close() buffer = 0; eof = true; } - diff --git a/src/tools/map_extractor/mpq_libmpq.h b/src/tools/map_extractor/mpq_libmpq.h deleted file mode 100644 index d61cda7f919..00000000000 --- a/src/tools/map_extractor/mpq_libmpq.h +++ /dev/null @@ -1,122 +0,0 @@ -#define _CRT_SECURE_NO_DEPRECATE -#define _CRT_SECURE_NO_WARNINGS - -#ifndef MPQ_H -#define MPQ_H - -#include "loadlib/loadlib.h" -#include "libmpq/mpq.h" -#include -#include -#include -#include -#include - -using namespace std; - -class MPQArchive -{ - -public: - mpq_archive mpq_a; - - MPQArchive(const char* filename); - void close(); - - uint32 HashString(const char* Input, uint32 Offset) { - uint32 seed1 = 0x7fed7fed; - uint32 seed2 = 0xeeeeeeee; - - for (uint32 i = 0; i < strlen(Input); i++) { - uint32 val = toupper(Input[i]); - seed1 = mpq_a.buf[Offset + val] ^ (seed1 + seed2); - seed2 = val + seed1 + seed2 + (seed2 << 5) + 3; - } - - return seed1; - } - mpq_hash GetHashEntry(const char* Filename) { - uint32 index = HashString(Filename, 0); - index &= mpq_a.header->hashtablesize - 1; - uint32 name1 = HashString(Filename, 0x100); - uint32 name2 = HashString(Filename, 0x200); - - for(uint32 i = index; i < mpq_a.header->hashtablesize; ++i) { - mpq_hash hash = mpq_a.hashtable[i]; - if (hash.name1 == name1 && hash.name2 == name2) return hash; - } - - mpq_hash nullhash; - nullhash.blockindex = 0xFFFFFFFF; - return nullhash; - } - - void GetFileListTo(vector& filelist) { - mpq_hash hash = GetHashEntry("(listfile)"); - uint32 blockindex = hash.blockindex; - - if ((blockindex == 0xFFFFFFFF) || (blockindex == 0)) - return; - - uint32 size = libmpq_file_info(&mpq_a, LIBMPQ_FILE_UNCOMPRESSED_SIZE, blockindex); - char *buffer = new char[size]; - - libmpq_file_getdata(&mpq_a, hash, blockindex, (unsigned char*)buffer); - - char seps[] = "\n"; - char *token; - - token = strtok( buffer, seps ); - uint32 counter = 0; - while ((token != NULL) && (counter < size)) { - //cout << token << endl; - token[strlen(token) - 1] = 0; - string s = token; - filelist.push_back(s); - counter += strlen(token) + 2; - token = strtok(NULL, seps); - } - - delete[] buffer; - } -}; -typedef std::deque ArchiveSet; - -class MPQFile -{ - //MPQHANDLE handle; - bool eof; - char *buffer; - size_t pointer,size; - - // disable copying - MPQFile(const MPQFile &f) {} - void operator=(const MPQFile &f) {} - -public: - MPQFile(const char* filename); // filenames are not case sensitive - ~MPQFile() { close(); } - size_t read(void* dest, size_t bytes); - size_t getSize() { return size; } - size_t getPos() { return pointer; } - char* getBuffer() { return buffer; } - char* getPointer() { return buffer + pointer; } - bool isEof() { return eof; } - void seek(int offset); - void seekRelative(int offset); - void close(); -}; - -inline void flipcc(char *fcc) -{ - char t; - t=fcc[0]; - fcc[0]=fcc[3]; - fcc[3]=t; - t=fcc[1]; - fcc[1]=fcc[2]; - fcc[2]=t; -} - -#endif - diff --git a/src/tools/map_extractor/mpq_libmpq04.h b/src/tools/map_extractor/mpq_libmpq04.h new file mode 100644 index 00000000000..26008f5fba1 --- /dev/null +++ b/src/tools/map_extractor/mpq_libmpq04.h @@ -0,0 +1,91 @@ +#define _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_WARNINGS + +#ifndef MPQ_H +#define MPQ_H + +#include "loadlib/loadlib.h" +#include "libmpq/mpq.h" +#include +#include +#include +#include +#include + +using namespace std; + +class MPQArchive +{ + +public: + mpq_archive_s *mpq_a; + + MPQArchive(const char* filename); + void close(); + + void GetFileListTo(vector& filelist) { + uint32_t filenum; + if(libmpq__file_number(mpq_a, "(listfile)", &filenum)) return; + libmpq__off_t size, transferred; + libmpq__file_unpacked_size(mpq_a, filenum, &size); + + char *buffer = new char[size]; + + libmpq__file_read(mpq_a, filenum, (unsigned char*)buffer, size, &transferred); + + char seps[] = "\n"; + char *token; + + token = strtok( buffer, seps ); + uint32 counter = 0; + while ((token != NULL) && (counter < size)) { + //cout << token << endl; + token[strlen(token) - 1] = 0; + string s = token; + filelist.push_back(s); + counter += strlen(token) + 2; + token = strtok(NULL, seps); + } + + delete[] buffer; + } +}; +typedef std::deque ArchiveSet; + +class MPQFile +{ + //MPQHANDLE handle; + bool eof; + char *buffer; + libmpq__off_t pointer,size; + + // disable copying + MPQFile(const MPQFile &f) {} + void operator=(const MPQFile &f) {} + +public: + MPQFile(const char* filename); // filenames are not case sensitive + ~MPQFile() { close(); } + size_t read(void* dest, size_t bytes); + size_t getSize() { return size; } + size_t getPos() { return pointer; } + char* getBuffer() { return buffer; } + char* getPointer() { return buffer + pointer; } + bool isEof() { return eof; } + void seek(int offset); + void seekRelative(int offset); + void close(); +}; + +inline void flipcc(char *fcc) +{ + char t; + t=fcc[0]; + fcc[0]=fcc[3]; + fcc[3]=t; + t=fcc[1]; + fcc[1]=fcc[2]; + fcc[2]=t; +} + +#endif diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 2088158af6a..b3b16d540c7 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -17,7 +17,7 @@ include_directories( ${ACE_INCLUDE_DIR} ) -add_executable(collision_assembler VMapAssembler.cpp) -target_link_libraries(collision_assembler collision g3dlib) - +add_executable(vmap3assembler VMapAssembler.cpp) +target_link_libraries(vmap3assembler collision g3dlib) +install(TARGETS vmap3assembler DESTINATION bin) diff --git a/src/tools/vmap3_extractor/CMakeLists.txt b/src/tools/vmap3_extractor/CMakeLists.txt index 03d609bf60d..02d044cdaa9 100644 --- a/src/tools/vmap3_extractor/CMakeLists.txt +++ b/src/tools/vmap3_extractor/CMakeLists.txt @@ -11,5 +11,7 @@ include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) -add_executable(collision_extractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp) -target_link_libraries(collision_extractor libmpq) +add_executable(vmap3extractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp) +target_link_libraries(vmap3extractor libmpq bzip2 zlib) + +install(TARGETS vmap3extractor DESTINATION bin) -- cgit v1.2.3 From 4d84a4e82e56b54e79bfbeee4c38cc909ef82019 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 11 Jun 2010 12:25:49 +0200 Subject: Fixed libmpq build on windows Added 1 solution for map extractor, vmap extractor and vmap assembler Fixed debug build of map extractor (windows), don't forget to compile dependencies (external - bzip, libmpq and zlib) --HG-- branch : trunk --- externals/libmpq/win/VC90/libmpq.vcproj | 211 +++++++++++++++++ externals/libmpq/win/dirent.h | 230 ++++++++++++++++++ externals/libmpq/win/libmpq_VC90.sln | 18 +- src/tools/ExtractorToolsVC90.sln | 32 +++ src/tools/map_extractor/VC90/VC90_ad.vcproj | 260 +++++++++++++++++++++ src/tools/map_extractor/VC90_AD.sln | 19 -- src/tools/map_extractor/VC90_ad.vcproj | 18 +- .../vmap3_extractor/win/vmapExtractor3_VC90.sln | 19 -- 8 files changed, 743 insertions(+), 64 deletions(-) create mode 100644 externals/libmpq/win/VC90/libmpq.vcproj create mode 100644 externals/libmpq/win/dirent.h create mode 100644 src/tools/ExtractorToolsVC90.sln create mode 100644 src/tools/map_extractor/VC90/VC90_ad.vcproj delete mode 100644 src/tools/map_extractor/VC90_AD.sln delete mode 100644 src/tools/vmap3_extractor/win/vmapExtractor3_VC90.sln (limited to 'src/tools') diff --git a/externals/libmpq/win/VC90/libmpq.vcproj b/externals/libmpq/win/VC90/libmpq.vcproj new file mode 100644 index 00000000000..975eac173a3 --- /dev/null +++ b/externals/libmpq/win/VC90/libmpq.vcproj @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/externals/libmpq/win/dirent.h b/externals/libmpq/win/dirent.h new file mode 100644 index 00000000000..6425174092d --- /dev/null +++ b/externals/libmpq/win/dirent.h @@ -0,0 +1,230 @@ +/***************************************************************************** + * dirent.h - dirent API for Microsoft Visual Studio + * + * Copyright (C) 2006 Toni Ronkko + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * ``Software''), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL TONI RONKKO BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Dec 15, 2009, John Cunningham + * Added rewinddir member function + * + * Jan 18, 2008, Toni Ronkko + * Using FindFirstFileA and WIN32_FIND_DATAA to avoid converting string + * between multi-byte and unicode representations. This makes the + * code simpler and also allows the code to be compiled under MingW. Thanks + * to Azriel Fasten for the suggestion. + * + * Mar 4, 2007, Toni Ronkko + * Bug fix: due to the strncpy_s() function this file only compiled in + * Visual Studio 2005. Using the new string functions only when the + * compiler version allows. + * + * Nov 2, 2006, Toni Ronkko + * Major update: removed support for Watcom C, MS-DOS and Turbo C to + * simplify the file, updated the code to compile cleanly on Visual + * Studio 2005 with both unicode and multi-byte character strings, + * removed rewinddir() as it had a bug. + * + * Aug 20, 2006, Toni Ronkko + * Removed all remarks about MSVC 1.0, which is antiqued now. Simplified + * comments by removing SGML tags. + * + * May 14 2002, Toni Ronkko + * Embedded the function definitions directly to the header so that no + * source modules need to be included in the Visual Studio project. Removed + * all the dependencies to other projects so that this very header can be + * used independently. + * + * May 28 1998, Toni Ronkko + * First version. + *****************************************************************************/ +#ifndef DIRENT_H +#define DIRENT_H + +#include +#include +#include + + +typedef struct dirent +{ + char d_name[MAX_PATH + 1]; /* current dir entry (multi-byte char string) */ + WIN32_FIND_DATAA data; /* file attributes */ +} dirent; + + +typedef struct DIR +{ + dirent current; /* Current directory entry */ + int cached; /* Indicates un-processed entry in memory */ + HANDLE search_handle; /* File search handle */ + char patt[MAX_PATH + 3]; /* search pattern (3 = pattern + "\\*\0") */ +} DIR; + + +/* Forward declarations */ +static DIR *opendir (const char *dirname); +static struct dirent *readdir (DIR *dirp); +static int closedir (DIR *dirp); +static void rewinddir(DIR* dirp); + + +/* Use the new safe string functions introduced in Visual Studio 2005 */ +#if defined(_MSC_VER) && _MSC_VER >= 1400 +# define STRNCPY(dest,src,size) strncpy_s((dest),(size),(src),_TRUNCATE) +#else +# define STRNCPY(dest,src,size) strncpy((dest),(src),(size)) +#endif + + +/***************************************************************************** + * Open directory stream DIRNAME for read and return a pointer to the + * internal working area that is used to retrieve individual directory + * entries. + */ +static DIR *opendir(const char *dirname) +{ + DIR *dirp; + assert (dirname != NULL); + assert (strlen (dirname) < MAX_PATH); + + /* construct new DIR structure */ + dirp = (DIR*) malloc (sizeof (struct DIR)); + if (dirp != NULL) { + char *p; + + /* take directory name... */ + STRNCPY (dirp->patt, dirname, sizeof(dirp->patt)); + dirp->patt[MAX_PATH] = '\0'; + + /* ... and append search pattern to it */ + p = strchr (dirp->patt, '\0'); + if (dirp->patt < p && *(p-1) != '\\' && *(p-1) != ':') { + *p++ = '\\'; + } + *p++ = '*'; + *p = '\0'; + + /* open stream and retrieve first file */ + dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* invalid search pattern? */ + free (dirp); + return NULL; + } + + /* there is an un-processed directory entry in memory now */ + dirp->cached = 1; + } + + return dirp; +} + + +/***************************************************************************** + * Read a directory entry, and return a pointer to a dirent structure + * containing the name of the entry in d_name field. Individual directory + * entries returned by this very function include regular files, + * sub-directories, pseudo-directories "." and "..", but also volume labels, + * hidden files and system files may be returned. + */ +static struct dirent *readdir(DIR *dirp) +{ + assert (dirp != NULL); + + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* directory stream was opened/rewound incorrectly or ended normally */ + return NULL; + } + + /* get next directory entry */ + if (dirp->cached != 0) { + /* a valid directory entry already in memory */ + dirp->cached = 0; + } else { + /* read next directory entry from disk */ + if (FindNextFileA (dirp->search_handle, &dirp->current.data) == FALSE) { + /* the very last file has been processed or an error occured */ + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + return NULL; + } + } + + /* copy as a multibyte character string */ + STRNCPY ( dirp->current.d_name, + dirp->current.data.cFileName, + sizeof(dirp->current.d_name) ); + dirp->current.d_name[MAX_PATH] = '\0'; + + return &dirp->current; +} + + +/***************************************************************************** + * Close directory stream opened by opendir() function. Close of the + * directory stream invalidates the DIR structure as well as any previously + * read directory entry. + */ +static int closedir(DIR *dirp) +{ + assert (dirp != NULL); + + /* release search handle */ + if (dirp->search_handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + } + + /* release directory handle */ + free (dirp); + return 0; +} + + +/***************************************************************************** + * Resets the position of the directory stream to which dirp refers to the + * beginning of the directory. It also causes the directory stream to refer + * to the current state of the corresponding directory, as a call to opendir() + * would have done. If dirp does not refer to a directory stream, the effect + * is undefined. + */ +static void rewinddir(DIR* dirp) +{ + /* release search handle */ + if (dirp->search_handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + } + + /* open new search handle and retrieve first file */ + dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* invalid search pattern? */ + free (dirp); + return; + } + + /* there is an un-processed directory entry in memory now */ + dirp->cached = 1; +} + + +#endif /*DIRENT_H*/ diff --git a/externals/libmpq/win/libmpq_VC90.sln b/externals/libmpq/win/libmpq_VC90.sln index 7c4a8e47a56..c55968a73a7 100644 --- a/externals/libmpq/win/libmpq_VC90.sln +++ b/externals/libmpq/win/libmpq_VC90.sln @@ -1,14 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 +# Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmpq", "VC90\libmpq.vcproj", "{03AB0F44-628E-4855-99A0-C98A1EB52C50}" - ProjectSection(ProjectDependencies) = postProject - {B96F612A-C91D-43B3-A4C3-D4294817EC6C} = {B96F612A-C91D-43B3-A4C3-D4294817EC6C} - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\..\win\VC90\zlib.vcproj", "{8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzip2", "..\..\..\win\VC90\bzip2.vcproj", "{B96F612A-C91D-43B3-A4C3-D4294817EC6C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -20,14 +12,6 @@ Global {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Debug|Win32.Build.0 = Debug|Win32 {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Release|Win32.ActiveCfg = Release|Win32 {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Release|Win32.Build.0 = Release|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.ActiveCfg = Debug|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.Build.0 = Debug|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.ActiveCfg = Release|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.Build.0 = Release|Win32 - {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Debug|Win32.ActiveCfg = Debug|Win32 - {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Debug|Win32.Build.0 = Debug|Win32 - {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Release|Win32.ActiveCfg = Release|Win32 - {B96F612A-C91D-43B3-A4C3-D4294817EC6C}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/tools/ExtractorToolsVC90.sln b/src/tools/ExtractorToolsVC90.sln new file mode 100644 index 00000000000..6a31b5a1ddf --- /dev/null +++ b/src/tools/ExtractorToolsVC90.sln @@ -0,0 +1,32 @@ +п»ї +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ad", "map_extractor\VC90\VC90_ad.vcproj", "{D7552D4F-408F-4F8E-859B-366659150CF4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap_assembler", "vmap3_assembler\VC90\vmap_assembler.vcproj", "{572FFF74-480C-4472-8ABF-81733BB4049D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap3_extractor", "vmap3_extractor\VC90\vmap3_extractor.vcproj", "{502602CC-98EA-4335-B922-C5C1DBF37604}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.ActiveCfg = Debug|Win32 + {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.Build.0 = Debug|Win32 + {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.ActiveCfg = Release|Win32 + {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.Build.0 = Release|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.ActiveCfg = Debug|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.Build.0 = Debug|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.ActiveCfg = Release|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.Build.0 = Release|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Debug|Win32.ActiveCfg = Debug|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Debug|Win32.Build.0 = Debug|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.ActiveCfg = Release|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/tools/map_extractor/VC90/VC90_ad.vcproj b/src/tools/map_extractor/VC90/VC90_ad.vcproj new file mode 100644 index 00000000000..83480dd3912 --- /dev/null +++ b/src/tools/map_extractor/VC90/VC90_ad.vcproj @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tools/map_extractor/VC90_AD.sln b/src/tools/map_extractor/VC90_AD.sln deleted file mode 100644 index 68dd66e1f7f..00000000000 --- a/src/tools/map_extractor/VC90_AD.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ad", "VC90_ad.vcproj", "{D7552D4F-408F-4F8E-859B-366659150CF4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.ActiveCfg = Debug|Win32 - {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.Build.0 = Debug|Win32 - {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.ActiveCfg = Release|Win32 - {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/tools/map_extractor/VC90_ad.vcproj b/src/tools/map_extractor/VC90_ad.vcproj index 9a039a0fbb0..ab0a3568551 100644 --- a/src/tools/map_extractor/VC90_ad.vcproj +++ b/src/tools/map_extractor/VC90_ad.vcproj @@ -115,7 +115,7 @@ - - - - @@ -247,6 +239,10 @@ RelativePath=".\libmpq\huffman.cpp" > + + @@ -287,6 +283,10 @@ RelativePath=".\libmpq\wave.cpp" > + + Date: Fri, 11 Jun 2010 12:56:22 +0200 Subject: Fixed vmap extractor build on windows --HG-- branch : trunk --- .../vmap3_extractor/VC90/vmap3_extractor.vcproj | 263 +++++++++++++++++++++ src/tools/vmap3_extractor/vmapexport.cpp | 4 +- 2 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj (limited to 'src/tools') diff --git a/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj b/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj new file mode 100644 index 00000000000..3e0000b6249 --- /dev/null +++ b/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index 07d5d31d418..06f5282b19b 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -260,9 +260,9 @@ void getGamePath() LONG l; s = sizeof(input_path); memset(input_path,0,s); - l = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\World of Warcraft",0,KEY_QUERY_VALUE,&key); + l = RegOpenKeyExA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\World of Warcraft",0,KEY_QUERY_VALUE,&key); //l = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\Burning Crusade Closed Beta",0,KEY_QUERY_VALUE,&key); - l = RegQueryValueEx(key,"InstallPath",0,&t,(LPBYTE)input_path,&s); + l = RegQueryValueExA(key,"InstallPath",0,&t,(LPBYTE)input_path,&s); RegCloseKey(key); if (strlen(input_path) > 0) { -- cgit v1.2.3 From 96ac28ebadd43095d343303a43a79370a16deca1 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 11 Jun 2010 13:57:10 +0200 Subject: Fixed vmap assembler build in release mode - windows Working as of this commit: map extractor debug, vmap extractor both and vmap assembler release --HG-- branch : trunk --- .../vmap3_assembler/VC90/vmap_assembler.vcproj | 122 ++++++++++++--------- 1 file changed, 70 insertions(+), 52 deletions(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj b/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj index aff990d01cc..e3b1b7766a5 100644 --- a/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj +++ b/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj @@ -1,7 +1,7 @@ @@ -191,57 +197,69 @@ Name="vmaplib" > - - - - - - - - - - - - - - - - - - - + + + + + + + + + - + + + + + + + + + + + + + + + -- cgit v1.2.3 From ccbff7a194235d0d376ea57ce3a822b7d8b02e0b Mon Sep 17 00:00:00 2001 From: click Date: Fri, 11 Jun 2010 23:14:14 +0200 Subject: Remove README for the mapextractor, it's not used! --HG-- branch : trunk --- src/tools/map_extractor/README.linux | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 src/tools/map_extractor/README.linux (limited to 'src/tools') diff --git a/src/tools/map_extractor/README.linux b/src/tools/map_extractor/README.linux deleted file mode 100644 index 1986831e751..00000000000 --- a/src/tools/map_extractor/README.linux +++ /dev/null @@ -1,7 +0,0 @@ -Linux instructions ------------------- - -1. install cmake -2. cmake -i -3. make -4. ./ad -- cgit v1.2.3 From 057ea32adf16064a787e36fe63c1fc0634072153 Mon Sep 17 00:00:00 2001 From: click Date: Sat, 12 Jun 2010 00:45:24 +0200 Subject: Fix issues with missing the printf()-function on newer distributions (thanks to svannon and brian for helping) --HG-- branch : trunk --- src/tools/map_extractor/loadlib/loadlib.cpp | 1 + src/tools/vmap3_extractor/loadlib/loadlib.h | 26 ++++++++++++-------------- src/tools/vmap3_extractor/mpq_libmpq.cpp | 2 +- src/tools/vmap3_extractor/mpq_libmpq04.h | 2 +- 4 files changed, 15 insertions(+), 16 deletions(-) (limited to 'src/tools') diff --git a/src/tools/map_extractor/loadlib/loadlib.cpp b/src/tools/map_extractor/loadlib/loadlib.cpp index e2dd2d79d85..465eb04083f 100644 --- a/src/tools/map_extractor/loadlib/loadlib.cpp +++ b/src/tools/map_extractor/loadlib/loadlib.cpp @@ -2,6 +2,7 @@ #include "loadlib.h" #include "mpq_libmpq04.h" +#include class MPQFile; diff --git a/src/tools/vmap3_extractor/loadlib/loadlib.h b/src/tools/vmap3_extractor/loadlib/loadlib.h index 53731753425..6acfd107ec7 100644 --- a/src/tools/vmap3_extractor/loadlib/loadlib.h +++ b/src/tools/vmap3_extractor/loadlib/loadlib.h @@ -3,28 +3,26 @@ #ifdef WIN32 typedef __int64 int64; -typedef __int32 int32; -typedef __int16 int16; -typedef __int8 int8; +typedef long int32; +typedef short int16; +typedef char int8; typedef unsigned __int64 uint64; -typedef unsigned __int32 uint32; -typedef unsigned __int16 uint16; -typedef unsigned __int8 uint8; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char uint8; #else #include #ifndef uint64_t -#ifdef __linux__ #include #endif -#endif typedef int64_t int64; -typedef int32_t int32; -typedef int16_t int16; -typedef int8_t int8; +typedef long int32; +typedef short int16; +typedef char int8; typedef uint64_t uint64; -typedef uint32_t uint32; -typedef uint16_t uint16; -typedef uint8_t uint8; +typedef unsigned long uint32; +typedef unsigned short uint16; +typedef unsigned char uint8; #endif #define FILE_FORMAT_VERSION 18 diff --git a/src/tools/vmap3_extractor/mpq_libmpq.cpp b/src/tools/vmap3_extractor/mpq_libmpq.cpp index 4aa59417f81..72a9de460eb 100644 --- a/src/tools/vmap3_extractor/mpq_libmpq.cpp +++ b/src/tools/vmap3_extractor/mpq_libmpq.cpp @@ -50,7 +50,7 @@ MPQFile::MPQFile(const char* filename): { mpq_archive *mpq_a = (*i)->mpq_a; - uint32 filenum; + uint32_t filenum; if(libmpq__file_number(mpq_a, filename, &filenum)) continue; libmpq__off_t transferred; libmpq__file_unpacked_size(mpq_a, filenum, &size); diff --git a/src/tools/vmap3_extractor/mpq_libmpq04.h b/src/tools/vmap3_extractor/mpq_libmpq04.h index ccbfe37cba7..26008f5fba1 100644 --- a/src/tools/vmap3_extractor/mpq_libmpq04.h +++ b/src/tools/vmap3_extractor/mpq_libmpq04.h @@ -24,7 +24,7 @@ public: void close(); void GetFileListTo(vector& filelist) { - uint32 filenum; + uint32_t filenum; if(libmpq__file_number(mpq_a, "(listfile)", &filenum)) return; libmpq__off_t size, transferred; libmpq__file_unpacked_size(mpq_a, filenum, &size); -- cgit v1.2.3 From 6520261ea652b3ec3fea45cee901d7b5f9238d14 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 13 Jun 2010 13:05:25 +0200 Subject: Added _CRT_SECURE_NO_WARNINGS preprocessor definition to windows project files to reduce warning spam Removed duplicate project file for map extractor --HG-- branch : trunk --- src/tools/map_extractor/VC90_ad.vcproj | 327 --------------------------------- win/VC90/TrinityCore.vcproj | 12 +- win/VC90/TrinityRealm.vcproj | 8 +- win/VC90/game.vcproj | 8 +- 4 files changed, 12 insertions(+), 343 deletions(-) delete mode 100644 src/tools/map_extractor/VC90_ad.vcproj (limited to 'src/tools') diff --git a/src/tools/map_extractor/VC90_ad.vcproj b/src/tools/map_extractor/VC90_ad.vcproj deleted file mode 100644 index ab0a3568551..00000000000 --- a/src/tools/map_extractor/VC90_ad.vcproj +++ /dev/null @@ -1,327 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/VC90/TrinityCore.vcproj b/win/VC90/TrinityCore.vcproj index 692bbf7fbc0..264e36fd790 100644 --- a/win/VC90/TrinityCore.vcproj +++ b/win/VC90/TrinityCore.vcproj @@ -49,7 +49,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\externals;..\..\externals\mersennetwister;..\..\externals\sockets\include;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\BattleGrounds;..\..\src\server\game\Chat;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Globals;..\..\src\server\game\Grids;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Groups;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Spells\Auras;..\..\src\server\game\World;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\worldserver;..\..\src\server\worldserver\CommandLine;..\..\src\server\worldserver\RemoteAccess;..\..\src\server\worldserver\WorldThread" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ENABLE_CLI;_SECURE_SCL=0" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ENABLE_CLI;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -149,7 +149,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\externals;..\..\externals\mersennetwister;..\..\externals\sockets\include;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\BattleGrounds;..\..\src\server\game\Chat;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Globals;..\..\src\server\game\Grids;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Groups;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Spells\Auras;..\..\src\server\game\World;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\worldserver;..\..\src\server\worldserver\CommandLine;..\..\src\server\worldserver\RemoteAccess;..\..\src\server\worldserver\WorldThread" - PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE;ENABLE_CLI;_CRT_SECURE_NO_WARNINGS" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -251,7 +251,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\externals;..\..\externals\mersennetwister;..\..\externals\sockets\include;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\BattleGrounds;..\..\src\server\game\Chat;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Globals;..\..\src\server\game\Grids;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Groups;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Spells\Auras;..\..\src\server\game\World;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\worldserver;..\..\src\server\worldserver\CommandLine;..\..\src\server\worldserver\RemoteAccess;..\..\src\server\worldserver\WorldThread" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ENABLE_CLI;_SECURE_SCL=0" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;ENABLE_CLI;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -351,7 +351,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\externals;..\..\externals\mersennetwister;..\..\externals\sockets\include;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\BattleGrounds;..\..\src\server\game\Chat;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Globals;..\..\src\server\game\Grids;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Groups;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Spells\Auras;..\..\src\server\game\World;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\worldserver;..\..\src\server\worldserver\CommandLine;..\..\src\server\worldserver\RemoteAccess;..\..\src\server\worldserver\WorldThread" - PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE;ENABLE_CLI" + PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE;ENABLE_CLI;_CRT_SECURE_NO_WARNINGS" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -432,10 +432,6 @@ RelativePath="..\..\COPYING" > - - diff --git a/win/VC90/TrinityRealm.vcproj b/win/VC90/TrinityRealm.vcproj index 1b8b18aabbe..e8b8d9f5183 100644 --- a/win/VC90/TrinityRealm.vcproj +++ b/win/VC90/TrinityRealm.vcproj @@ -49,7 +49,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\externals;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\authserver;..\..\src\server\authserver\Authentication;..\..\src\server\authserver\Realms;..\..\src\server\authserver\Server" - PreprocessorDefinitions="VERSION="0.12.0-SVN",WIN32,NDEBUG,_CONSOLE;_SECURE_SCL=0" + PreprocessorDefinitions="VERSION="0.12.0-SVN",WIN32,NDEBUG,_CONSOLE;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -147,7 +147,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\externals;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\authserver;..\..\src\server\authserver\Authentication;..\..\src\server\authserver\Realms;..\..\src\server\authserver\Server" - PreprocessorDefinitions="VERSION="0.12.0-SVN";WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.0-SVN";WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -247,7 +247,7 @@ AdditionalOptions="/MP" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\externals;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\authserver;..\..\src\server\authserver\Authentication;..\..\src\server\authserver\Realms;..\..\src\server\authserver\Server" - PreprocessorDefinitions="VERSION="0.12.0-SVN",WIN32,NDEBUG,_CONSOLE;_SECURE_SCL=0" + PreprocessorDefinitions="VERSION="0.12.0-SVN",WIN32,NDEBUG,_CONSOLE;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -345,7 +345,7 @@ AdditionalOptions="/MP" Optimization="0" AdditionalIncludeDirectories="..\..\externals;..\..\src\server\shared;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\authserver;..\..\src\server\authserver\Authentication;..\..\src\server\authserver\Realms;..\..\src\server\authserver\Server" - PreprocessorDefinitions="VERSION="0.12.0-SVN";WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE" + PreprocessorDefinitions="VERSION="0.12.0-SVN";WIN32;_DEBUG;TRINITY_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS" IgnoreStandardIncludePath="false" BasicRuntimeChecks="3" RuntimeLibrary="3" diff --git a/win/VC90/game.vcproj b/win/VC90/game.vcproj index da026b48e28..14834618e5e 100644 --- a/win/VC90/game.vcproj +++ b/win/VC90/game.vcproj @@ -49,7 +49,7 @@ AdditionalOptions="/MP /Zm200" Optimization="0" AdditionalIncludeDirectories="..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Server\Protocol\Handlers;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World;..\..\externals;..\..\src\server\shared\Cryptography\Authentication;" - PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_LIB;_SECURE_SCL=0" + PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" StringPooling="false" MinimalRebuild="false" BasicRuntimeChecks="3" @@ -133,7 +133,7 @@ AdditionalOptions="/MP /Zm200" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Server\Protocol\Handlers;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\externals\g3dlite;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\collision\Maps;..\..\src\server\collision\Models;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World;..\..\externals;..\..\src\server\shared\Cryptography\Authentication" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -215,7 +215,7 @@ AdditionalOptions="/MP /bigobj /Zm200" Optimization="0" AdditionalIncludeDirectories="..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Server\Protocol\Handlers;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World;..\..\externals;..\..\src\server\shared\Cryptography\Authentication;" - PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_LIB" + PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS" StringPooling="false" MinimalRebuild="false" BasicRuntimeChecks="3" @@ -299,7 +299,7 @@ AdditionalOptions="/MP /bigobj /Zm200" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Server\Protocol\Handlers;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World;..\..\externals;..\..\src\server\shared\Cryptography\Authentication;" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" -- cgit v1.2.3 From 8a2a82d1e8c8fb71d2762490a2af7b925a29f6be Mon Sep 17 00:00:00 2001 From: click Date: Sun, 13 Jun 2010 20:36:07 +0200 Subject: port over some usability-fixes from lynx3d on the vmapextractor and remove an old header-relic --HG-- branch : trunk --- src/tools/vmap3_extractor/adtfile.cpp | 9 +++---- src/tools/vmap3_extractor/model.cpp | 2 +- src/tools/vmap3_extractor/mpq_libmpq.cpp | 2 +- src/tools/vmap3_extractor/vmapexport.cpp | 40 ++++++++++++++++++-------------- src/tools/vmap3_extractor/vmapexport.h | 2 ++ src/tools/vmap3_extractor/wdtfile.cpp | 9 ++++--- src/tools/vmap3_extractor/wmo.cpp | 3 +-- 7 files changed, 37 insertions(+), 30 deletions(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_extractor/adtfile.cpp b/src/tools/vmap3_extractor/adtfile.cpp index 055408edca6..314255d3a58 100644 --- a/src/tools/vmap3_extractor/adtfile.cpp +++ b/src/tools/vmap3_extractor/adtfile.cpp @@ -1,3 +1,4 @@ +#include "vmapexport.h" #include "adtfile.h" #include @@ -69,12 +70,12 @@ bool ADTFile::init(uint32 map_num, uint32 tileX, uint32 tileY) //printf("xMap = %s\n", xMap.c_str()); //printf("yMap = %s\n", yMap.c_str()); - const char dirname[] = "Buildings/dir_bin"; + std::string dirname = std::string(szWorkDirWmo) + "/dir_bin"; FILE *dirfile; - dirfile = fopen(dirname, "ab"); + dirfile = fopen(dirname.c_str(), "ab"); if(!dirfile) { - printf("Can't open dirfile!'%s'\n", dirname); + printf("Can't open dirfile!'%s'\n", dirname.c_str()); return false; } @@ -125,7 +126,7 @@ bool ADTFile::init(uint32 map_num, uint32 tileX, uint32 tileY) // nothing do char szLocalFile[1024]; - snprintf(szLocalFile, 1024, "./Buildings/%s", s); + snprintf(szLocalFile, 1024, "%s/%s", szWorkDirWmo, s); FILE * output = fopen(szLocalFile,"rb"); if(!output) { diff --git a/src/tools/vmap3_extractor/model.cpp b/src/tools/vmap3_extractor/model.cpp index b914ed96406..a2493f7e571 100644 --- a/src/tools/vmap3_extractor/model.cpp +++ b/src/tools/vmap3_extractor/model.cpp @@ -134,7 +134,7 @@ ModelInstance::ModelInstance(MPQFile &f,const char* ModelInstName, uint32 mapID, sc = scale / 1024.0f; char tempname[512]; - sprintf(tempname, "./Buildings/%s", ModelInstName); + sprintf(tempname, "%s/%s", szWorkDirWmo, ModelInstName); FILE *input; input = fopen(tempname, "r+b"); diff --git a/src/tools/vmap3_extractor/mpq_libmpq.cpp b/src/tools/vmap3_extractor/mpq_libmpq.cpp index 72a9de460eb..2d2014e9594 100644 --- a/src/tools/vmap3_extractor/mpq_libmpq.cpp +++ b/src/tools/vmap3_extractor/mpq_libmpq.cpp @@ -57,7 +57,7 @@ MPQFile::MPQFile(const char* filename): // HACK: in patch.mpq some files don't want to open and give 1 for filesize if (size<=1) { - printf("warning: file %s has size %d; cannot read.\n", filename, size); + // printf("info: file %s has size %d; considered dummy file.\n", filename, size); eof = true; buffer = 0; return; diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index 06f5282b19b..ff81da52219 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -1,16 +1,3 @@ -/*****************************************************************************/ -/* StormLibTest.cpp Copyright (c) Ladislav Zezula 2003 */ -/*---------------------------------------------------------------------------*/ -/* This module uses very brutal test methods for StormLib. It extracts all */ -/* files from the archive with Storm.dll and with stormlib and compares them,*/ -/* then tries to build a copy of the entire archive, then removes a few files*/ -/* from the archive and adds them back, then compares the two archives, ... */ -/*---------------------------------------------------------------------------*/ -/* Date Ver Who Comment */ -/* -------- ---- --- ------- */ -/* 25.03.03 1.00 Lad The first version of StormLibTest.cpp */ -/*****************************************************************************/ - #define _CRT_SECURE_NO_DEPRECATE #include #include @@ -68,8 +55,7 @@ bool preciseVectorData = false; // Constants //static const char * szWorkDirMaps = ".\\Maps"; -static const char * szWorkDirWmo = "./Buildings"; - +const char * szWorkDirWmo = "./Buildings"; // Local testing functions static void clreol() @@ -114,7 +100,7 @@ void ReadLiquidTypeTableDBC() for(uint32 x = 0; x < LiqType_count; ++x) LiqType[dbc.getRecord(x).getUInt(0)] = dbc.getRecord(x).getUInt(3); - printf("Done! (%u LiqTypes loaded)\n", LiqType_count); + printf("Done! (%u LiqTypes loaded)\n", (unsigned int)LiqType_count); } int ExtractWmo() @@ -236,18 +222,22 @@ void ParsMapFiles() WDTFile WDT(fn,map_ids[i].name); if(WDT.init(id, map_ids[i].id)) { + printf("Processing Map %u\n[", map_ids[i].id); for (int x=0; x<64; ++x) { for (int y=0; y<64; ++y) { - if (ADTFile*ADT = WDT.GetMap(x,y)) + if (ADTFile *ADT = WDT.GetMap(x,y)) { //sprintf(id_filename,"%02u %02u %03u",x,y,map_ids[i].id);//!!!!!!!!! ADT->init(map_ids[i].id, x, y); delete ADT; } } + printf("#"); + fflush(stdout); } + printf("]\n"); } } } @@ -451,6 +441,22 @@ int main(int argc, char ** argv) if(!processArgv(argc, argv, versionString)) return 1; + // some simple check if working dir is dirty + else + { + std::string sdir = std::string(szWorkDirWmo) + "/dir"; + std::string sdir_bin = std::string(szWorkDirWmo) + "/dir_bin"; + struct stat status; + if (!stat(sdir.c_str(), &status) || !stat(sdir_bin.c_str(), &status)) + { + printf("Your output directory seems to be polluted, please use an empty directory!\n"); + printf(""); + char garbage[2]; + scanf("%c", garbage); + return 1; + } + } + printf("Extract %s. Beginning work ....\n",versionString); //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // Create the working directory diff --git a/src/tools/vmap3_extractor/vmapexport.h b/src/tools/vmap3_extractor/vmapexport.h index 625bc930882..fa9a609abf5 100644 --- a/src/tools/vmap3_extractor/vmapexport.h +++ b/src/tools/vmap3_extractor/vmapexport.h @@ -8,4 +8,6 @@ enum ModelFlags MOD_HAS_BOUND = 1<<2 }; +extern const char * szWorkDirWmo; + #endif diff --git a/src/tools/vmap3_extractor/wdtfile.cpp b/src/tools/vmap3_extractor/wdtfile.cpp index 7f81af72931..cd24ef0346c 100644 --- a/src/tools/vmap3_extractor/wdtfile.cpp +++ b/src/tools/vmap3_extractor/wdtfile.cpp @@ -1,5 +1,4 @@ -#define __STORMLIB_SELF__ - +#include "vmapexport.h" #include "wdtfile.h" #include "adtfile.h" #include @@ -29,12 +28,12 @@ bool WDTFile::init(char *map_id, unsigned int mapID) char fourcc[5]; uint32 size; - const char dirname[] = "Buildings/dir_bin"; + std::string dirname = std::string(szWorkDirWmo) + "/dir_bin"; FILE *dirfile; - dirfile = fopen(dirname, "ab"); + dirfile = fopen(dirname.c_str(), "ab"); if(!dirfile) { - printf("Can't open dirfile!'%s'\n", dirname); + printf("Can't open dirfile!'%s'\n", dirname.c_str()); return false; } diff --git a/src/tools/vmap3_extractor/wmo.cpp b/src/tools/vmap3_extractor/wmo.cpp index 508391be675..650d2279f28 100644 --- a/src/tools/vmap3_extractor/wmo.cpp +++ b/src/tools/vmap3_extractor/wmo.cpp @@ -1,4 +1,3 @@ - #include "vmapexport.h" #include "wmo.h" #include "vec3d.h" @@ -443,7 +442,7 @@ WMOInstance::WMOInstance(MPQFile &f,const char* WmoInstName, uint32 mapID, uint3 //-----------add_in _dir_file---------------- char tempname[512]; - sprintf(tempname, "Buildings/%s", WmoInstName); + sprintf(tempname, "%s/%s", szWorkDirWmo, WmoInstName); FILE *input; input = fopen(tempname, "r+b"); -- cgit v1.2.3 From c3fed147d72474052c06c0b34460ff5ba1d5f82a Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 14 Jun 2010 21:10:08 +0200 Subject: Removed useless vmap assembler solution file --HG-- branch : trunk --- src/tools/vmap3_assembler/vmap_assemblerVC90.sln | 42 ------------------------ 1 file changed, 42 deletions(-) delete mode 100644 src/tools/vmap3_assembler/vmap_assemblerVC90.sln (limited to 'src/tools') diff --git a/src/tools/vmap3_assembler/vmap_assemblerVC90.sln b/src/tools/vmap3_assembler/vmap_assemblerVC90.sln deleted file mode 100644 index 9e94e750661..00000000000 --- a/src/tools/vmap3_assembler/vmap_assemblerVC90.sln +++ /dev/null @@ -1,42 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap_assembler", "VC90\vmap_assembler.vcproj", "{572FFF74-480C-4472-8ABF-81733BB4049D}" - ProjectSection(ProjectDependencies) = postProject - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} - {8072769E-CF10-48BF-B9E1-12752A5DAC6E} = {8072769E-CF10-48BF-B9E1-12752A5DAC6E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\win\VC90\zlib.vcproj", "{8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3dlite", "..\..\win\VC90\g3dlite.vcproj", "{8072769E-CF10-48BF-B9E1-12752A5DAC6E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug_NoPCH|Win32 = Debug_NoPCH|Win32 - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug_NoPCH|Win32.ActiveCfg = Debug|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug_NoPCH|Win32.Build.0 = Debug|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.ActiveCfg = Debug|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.Build.0 = Debug|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.ActiveCfg = Release|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.Build.0 = Release|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.ActiveCfg = Debug|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.Build.0 = Debug|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.ActiveCfg = Release|Win32 - {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.Build.0 = Release|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.ActiveCfg = Debug_NoPCH|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug_NoPCH|Win32.Build.0 = Debug_NoPCH|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.ActiveCfg = Debug|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.Build.0 = Debug|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.ActiveCfg = Release|Win32 - {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal -- cgit v1.2.3 From ebb07858170c7552439ce0afd9395d93b79e2eb8 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 15 Jun 2010 17:08:04 +0200 Subject: Commit from Lynx3d: Add assert to values that can cause nasty freeze, but should never occur with valid input. --HG-- branch : trunk --- src/server/collision/Maps/MapTree.cpp | 6 ++++++ src/tools/vmap3_assembler/CMakeLists.txt | 1 + src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/tools') diff --git a/src/server/collision/Maps/MapTree.cpp b/src/server/collision/Maps/MapTree.cpp index 8c77ee109f3..af4073fcc8c 100644 --- a/src/server/collision/Maps/MapTree.cpp +++ b/src/server/collision/Maps/MapTree.cpp @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "Errors.h" #include "MapTree.h" #include "ModelInstance.h" #include "VMapManager2.h" @@ -24,6 +25,7 @@ #include #include #include +#include using G3D::Vector3; @@ -146,6 +148,8 @@ namespace VMAP { bool result = true; float maxDist = (pos2 - pos1).magnitude(); + // valid map coords should *never ever* produce float overflow, but this would produce NaNs too + ASSERT(maxDist < std::numeric_limits::max()); // prevent NaN values which can cause BIH intersection to enter infinite loop if (maxDist < 1e-10f) return true; @@ -168,6 +172,8 @@ namespace VMAP { bool result=false; float maxDist = (pPos2 - pPos1).magnitude(); + // valid map coords should *never ever* produce float overflow, but this would produce NaNs too + ASSERT(maxDist < std::numeric_limits::max()); // prevent NaN values which can cause BIH intersection to enter infinite loop if (maxDist < 1e-10f) { diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index b3b16d540c7..62eaca7e13f 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -14,6 +14,7 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/collision/Maps ${CMAKE_SOURCE_DIR}/src/server/collision/Models ${CMAKE_SOURCE_DIR}/src/server/shared + ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging ${ACE_INCLUDE_DIR} ) diff --git a/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj b/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj index e3b1b7766a5..b7c0e7719b3 100644 --- a/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj +++ b/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj @@ -42,7 +42,7 @@ Date: Wed, 16 Jun 2010 06:36:35 +0200 Subject: * Fixed extraction tools windows compile and core windows compile for 32-bit targets. This should do until sufficiently good project files can be generated using cmake. * Windows users need to download 8615_mysql_openssl_libs.zip from the project download page and unpack it to /externals. --HG-- branch : trunk --- externals/ace/win/VC90/ace.vcproj | 71 +-- externals/bzip2/win/VC90/bzip2.vcproj | 18 +- externals/g3dlite/win/VC90/g3dlite.vcproj | 70 +-- externals/libmpq/win/VC90/libmpq.vcproj | 19 +- externals/sockets/win/VC90/sockets.vcproj | 50 ++- externals/zlib/win/VC90/zlib.vcproj | 31 +- src/tools/ExtractorToolsVC90.sln | 48 ++ src/tools/map_extractor/VC90/VC90_ad.vcproj | 57 +-- .../vmap3_assembler/VC90/vmap_assembler.vcproj | 61 +-- .../vmap3_extractor/VC90/vmap3_extractor.vcproj | 38 +- src/tools/vmap3_extractor/vmapexport.cpp | 2 +- win/VC90/TrinityCore.vcproj | 87 ++-- win/VC90/TrinityRealm.vcproj | 78 ++-- win/VC90/framework.vcproj | 491 --------------------- win/VC90/game.vcproj | 138 +++--- win/VC90/genrevision.vcproj | 25 +- win/VC90/shared.vcproj | 72 +-- 17 files changed, 497 insertions(+), 859 deletions(-) delete mode 100644 win/VC90/framework.vcproj (limited to 'src/tools') diff --git a/externals/ace/win/VC90/ace.vcproj b/externals/ace/win/VC90/ace.vcproj index 11574ef24b0..35ae4149a81 100644 --- a/externals/ace/win/VC90/ace.vcproj +++ b/externals/ace/win/VC90/ace.vcproj @@ -21,8 +21,8 @@ @@ -79,7 +79,7 @@ /> @@ -149,7 +149,7 @@ RuntimeLibrary="3" RuntimeTypeInfo="true" UsePrecompiledHeader="2" - PrecompiledHeaderThrough="WinAcePCH.h" + PrecompiledHeaderThrough="WinAcePCH.h" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" @@ -171,7 +171,7 @@ @@ -239,7 +239,7 @@ RuntimeLibrary="2" RuntimeTypeInfo="true" UsePrecompiledHeader="2" - PrecompiledHeaderThrough="WinAcePCH.h" + PrecompiledHeaderThrough="WinAcePCH.h" WarningLevel="3" Detect64BitPortabilityProblems="false" DisableSpecificWarnings="4355" @@ -259,7 +259,7 @@ /> @@ -329,7 +329,7 @@ RuntimeLibrary="2" RuntimeTypeInfo="true" UsePrecompiledHeader="2" - PrecompiledHeaderThrough="WinAcePCH.h" + PrecompiledHeaderThrough="WinAcePCH.h" WarningLevel="3" Detect64BitPortabilityProblems="false" DebugInformationFormat="3" @@ -350,8 +350,9 @@ /> + + + + + + @@ -47,14 +47,14 @@ Optimization="0" AdditionalIncludeDirectories="..\..\..\zlib\;" AdditionalUsingDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;_DEBUG;_LIB" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" BufferSecurityCheck="true" EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" - AssemblerListingLocation=".\g3dlite__$(PlatformName)_$(ConfigurationName)\" + AssemblerListingLocation="" ObjectFile=".\g3dlite__$(PlatformName)_$(ConfigurationName)\" ProgramDataBaseFileName=".\g3dlite__$(PlatformName)_$(ConfigurationName)\" WarningLevel="3" @@ -73,8 +73,9 @@ /> @@ -113,17 +114,22 @@ /> @@ -182,27 +189,24 @@ /> @@ -264,7 +269,9 @@ AdditionalIncludeDirectories="..\..\..\zlib\;" AdditionalUsingDirectories="" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_SECURE_SCL=0" + StringPooling="true" RuntimeLibrary="2" + EnableFunctionLevelLinking="true" EnableEnhancedInstructionSet="0" UsePrecompiledHeader="0" AssemblerListingLocation=".\g3dlite__$(PlatformName)_$(ConfigurationName)\" @@ -286,8 +293,9 @@ /> @@ -46,7 +46,7 @@ Optimization="0" AdditionalIncludeDirectories="..\..\include;" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE" - MinimalRebuild="true" + MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" EnableFunctionLevelLinking="true" @@ -69,6 +69,7 @@ /> @@ -108,14 +109,17 @@ /> @@ -174,17 +179,14 @@ /> @@ -250,7 +253,9 @@ AdditionalOptions="/MP" AdditionalIncludeDirectories="..\..\include;" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" + StringPooling="true" RuntimeLibrary="2" + EnableFunctionLevelLinking="true" EnableEnhancedInstructionSet="0" RuntimeTypeInfo="true" UsePrecompiledHeader="0" @@ -271,6 +276,7 @@ /> @@ -46,7 +46,7 @@ Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE" - MinimalRebuild="true" + MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" EnableFunctionLevelLinking="true" @@ -89,8 +89,8 @@ @@ -115,7 +115,7 @@ Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE" - MinimalRebuild="true" + MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" EnableFunctionLevelLinking="true" @@ -158,8 +158,8 @@ @@ -182,15 +182,17 @@ Name="VCCLCompilerTool" AdditionalOptions="/MP" AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" RuntimeLibrary="2" + EnableFunctionLevelLinking="true" EnableEnhancedInstructionSet="1" RuntimeTypeInfo="true" UsePrecompiledHeader="0" - PrecompiledHeaderFile=".\zlib__$(PlatformName)_$(ConfigurationName)\zlib.pch" + PrecompiledHeaderFile="" WarningLevel="3" Detect64BitPortabilityProblems="false" - DebugInformationFormat="3" + DebugInformationFormat="0" CallingConvention="0" /> @@ -250,7 +253,9 @@ AdditionalOptions="/MP" AdditionalIncludeDirectories="" PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0" + StringPooling="true" RuntimeLibrary="2" + EnableFunctionLevelLinking="true" EnableEnhancedInstructionSet="0" RuntimeTypeInfo="true" UsePrecompiledHeader="0" diff --git a/src/tools/ExtractorToolsVC90.sln b/src/tools/ExtractorToolsVC90.sln index 6a31b5a1ddf..5887925dcf1 100644 --- a/src/tools/ExtractorToolsVC90.sln +++ b/src/tools/ExtractorToolsVC90.sln @@ -2,10 +2,36 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ad", "map_extractor\VC90\VC90_ad.vcproj", "{D7552D4F-408F-4F8E-859B-366659150CF4}" + ProjectSection(ProjectDependencies) = postProject + {03AB0F44-628E-4855-99A0-C98A1EB52C50} = {03AB0F44-628E-4855-99A0-C98A1EB52C50} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap_assembler", "vmap3_assembler\VC90\vmap_assembler.vcproj", "{572FFF74-480C-4472-8ABF-81733BB4049D}" + ProjectSection(ProjectDependencies) = postProject + {8072769E-CF10-48BF-B9E1-12752A5DAC6E} = {8072769E-CF10-48BF-B9E1-12752A5DAC6E} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap3_extractor", "vmap3_extractor\VC90\vmap3_extractor.vcproj", "{502602CC-98EA-4335-B922-C5C1DBF37604}" + ProjectSection(ProjectDependencies) = postProject + {03AB0F44-628E-4855-99A0-C98A1EB52C50} = {03AB0F44-628E-4855-99A0-C98A1EB52C50} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmpq", "..\..\externals\libmpq\win\VC90\libmpq.vcproj", "{03AB0F44-628E-4855-99A0-C98A1EB52C50}" + ProjectSection(ProjectDependencies) = postProject + {CE773400-763E-4B71-B5E2-C9B60A752EB1} = {CE773400-763E-4B71-B5E2-C9B60A752EB1} + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzip2", "..\..\externals\bzip2\win\VC90\bzip2.vcproj", "{CE773400-763E-4B71-B5E2-C9B60A752EB1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\externals\zlib\win\VC90\zlib.vcproj", "{8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3dlite", "..\..\externals\g3dlite\win\VC90\g3dlite.vcproj", "{8072769E-CF10-48BF-B9E1-12752A5DAC6E}" + ProjectSection(ProjectDependencies) = postProject + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dependencies", "Dependencies", "{69F789A6-BD04-454A-AC8E-A57AAE7FCF77}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -25,8 +51,30 @@ Global {502602CC-98EA-4335-B922-C5C1DBF37604}.Debug|Win32.Build.0 = Debug|Win32 {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.ActiveCfg = Release|Win32 {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.Build.0 = Release|Win32 + {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Debug|Win32.ActiveCfg = Debug|Win32 + {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Debug|Win32.Build.0 = Debug|Win32 + {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Release|Win32.ActiveCfg = Release|Win32 + {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Release|Win32.Build.0 = Release|Win32 + {CE773400-763E-4B71-B5E2-C9B60A752EB1}.Debug|Win32.ActiveCfg = Debug|Win32 + {CE773400-763E-4B71-B5E2-C9B60A752EB1}.Debug|Win32.Build.0 = Debug|Win32 + {CE773400-763E-4B71-B5E2-C9B60A752EB1}.Release|Win32.ActiveCfg = Release|Win32 + {CE773400-763E-4B71-B5E2-C9B60A752EB1}.Release|Win32.Build.0 = Release|Win32 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.ActiveCfg = Debug|Win32 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Debug|Win32.Build.0 = Debug|Win32 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.ActiveCfg = Release|Win32 + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2}.Release|Win32.Build.0 = Release|Win32 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.ActiveCfg = Debug|Win32 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.Build.0 = Debug|Win32 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.ActiveCfg = Release|Win32 + {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {CE773400-763E-4B71-B5E2-C9B60A752EB1} = {69F789A6-BD04-454A-AC8E-A57AAE7FCF77} + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {69F789A6-BD04-454A-AC8E-A57AAE7FCF77} + {8072769E-CF10-48BF-B9E1-12752A5DAC6E} = {69F789A6-BD04-454A-AC8E-A57AAE7FCF77} + {03AB0F44-628E-4855-99A0-C98A1EB52C50} = {69F789A6-BD04-454A-AC8E-A57AAE7FCF77} + EndGlobalSection EndGlobal diff --git a/src/tools/map_extractor/VC90/VC90_ad.vcproj b/src/tools/map_extractor/VC90/VC90_ad.vcproj index 83480dd3912..e875137556c 100644 --- a/src/tools/map_extractor/VC90/VC90_ad.vcproj +++ b/src/tools/map_extractor/VC90/VC90_ad.vcproj @@ -17,8 +17,8 @@ - - - - - - @@ -248,18 +237,6 @@ > - - - - - - diff --git a/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj b/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj index 3e0000b6249..34665937c9a 100644 --- a/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj +++ b/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj @@ -18,8 +18,8 @@ @@ -43,12 +43,13 @@ Optimization="0" AdditionalIncludeDirectories="..\;..\..\..\..\externals\libmpq;..\..\..\..\externals\libmpq\win" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" - MinimalRebuild="true" + MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" + EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" WarningLevel="3" - DebugInformationFormat="4" + DebugInformationFormat="3" /> diff --git a/win/VC90/TrinityRealm.vcproj b/win/VC90/TrinityRealm.vcproj index e8b8d9f5183..a18082e70ef 100644 --- a/win/VC90/TrinityRealm.vcproj +++ b/win/VC90/TrinityRealm.vcproj @@ -21,8 +21,8 @@ diff --git a/win/VC90/framework.vcproj b/win/VC90/framework.vcproj deleted file mode 100644 index 4cf74a17a1e..00000000000 --- a/win/VC90/framework.vcproj +++ /dev/null @@ -1,491 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/VC90/game.vcproj b/win/VC90/game.vcproj index 14834618e5e..af57afc95a8 100644 --- a/win/VC90/game.vcproj +++ b/win/VC90/game.vcproj @@ -22,8 +22,8 @@ + + + + + + + + + + + + diff --git a/win/VC90/genrevision.vcproj b/win/VC90/genrevision.vcproj index 6684660319b..13eda318a32 100644 --- a/win/VC90/genrevision.vcproj +++ b/win/VC90/genrevision.vcproj @@ -21,8 +21,8 @@ @@ -45,9 +45,10 @@ Name="VCCLCompilerTool" Optimization="0" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" - MinimalRebuild="true" + MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" + EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" WarningLevel="3" DebugInformationFormat="3" @@ -93,8 +94,8 @@ @@ -118,9 +119,10 @@ Name="VCCLCompilerTool" Optimization="0" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" - MinimalRebuild="true" + MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" + EnableFunctionLevelLinking="true" UsePrecompiledHeader="0" WarningLevel="3" DebugInformationFormat="3" @@ -166,8 +168,8 @@ @@ -101,9 +102,9 @@ /> @@ -181,9 +185,9 @@ /> @@ -265,8 +267,8 @@ @@ -732,23 +734,23 @@ /> -- cgit v1.2.3 From 3e03e8d26b1730701bf33d220bdc3c5752c420a7 Mon Sep 17 00:00:00 2001 From: click Date: Sat, 19 Jun 2010 21:17:26 +0200 Subject: FIx vmap3_assembler compile on linux --HG-- branch : trunk --- src/tools/vmap3_assembler/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 62eaca7e13f..7d3c02eb58b 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -11,10 +11,11 @@ include_directories( ${CMAKE_SOURCE_DIR}/externals/g3dlite - ${CMAKE_SOURCE_DIR}/src/server/collision/Maps - ${CMAKE_SOURCE_DIR}/src/server/collision/Models ${CMAKE_SOURCE_DIR}/src/server/shared ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging + ${CMAKE_SOURCE_DIR}/src/server/shared/Logging + ${CMAKE_SOURCE_DIR}/src/server/collision/Maps + ${CMAKE_SOURCE_DIR}/src/server/collision/Models ${ACE_INCLUDE_DIR} ) -- cgit v1.2.3 From 29d9e40f7482ff5b5b0944a339fcf7b89464bf2d Mon Sep 17 00:00:00 2001 From: click Date: Sat, 19 Jun 2010 21:35:32 +0200 Subject: Some smaller fixes to the vmapextractor courtesy of Lynx3d (not using corefunctions + update errormessages to use the new fileextensions) --HG-- branch : trunk --- src/server/collision/Maps/MapTree.cpp | 7 ++++++- src/server/game/World/World.cpp | 2 +- src/tools/vmap3_assembler/CMakeLists.txt | 1 + src/tools/vmap3_extractor/wmo.cpp | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src/tools') diff --git a/src/server/collision/Maps/MapTree.cpp b/src/server/collision/Maps/MapTree.cpp index af4073fcc8c..9f55920bcf9 100644 --- a/src/server/collision/Maps/MapTree.cpp +++ b/src/server/collision/Maps/MapTree.cpp @@ -16,7 +16,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "Errors.h" #include "MapTree.h" #include "ModelInstance.h" #include "VMapManager2.h" @@ -27,6 +26,12 @@ #include #include +#ifndef NO_CORE_FUNCS + #include "Errors.h" +#else + #define ASSERT(x) +#endif + using G3D::Vector3; namespace VMAP diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 0041bbaecc8..8a98da41cc1 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1274,7 +1274,7 @@ void World::SetInitialWorldSettings() ||m_configs[CONFIG_EXPANSION] && ( !MapManager::ExistMapAndVMap(530,10349.6f,-6357.29f) || !MapManager::ExistMapAndVMap(530,-3961.64f,-13931.2f))) { - sLog.outError("Correct *.map files not found in path '%smaps' or *.vmap/*vmdir files in '%svmaps'. Please place *.map/*.vmap/*.vmdir files in appropriate directories or correct the DataDir value in the Trinityd.conf file.",m_dataPath.c_str(),m_dataPath.c_str()); + sLog.outError("Correct *.map files not found in path '%smaps' or *.vmtree/*.vmtile files in '%svmaps'. Please place *.map/*.vmtree/*.vmtile files in appropriate directories or correct the DataDir value in the Trinityd.conf file.",m_dataPath.c_str(),m_dataPath.c_str()); exit(1); } diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 7d3c02eb58b..8c79fff6804 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -19,6 +19,7 @@ include_directories( ${ACE_INCLUDE_DIR} ) +add_definitions(-DNO_CORE_FUNCS) add_executable(vmap3assembler VMapAssembler.cpp) target_link_libraries(vmap3assembler collision g3dlib) diff --git a/src/tools/vmap3_extractor/wmo.cpp b/src/tools/vmap3_extractor/wmo.cpp index 650d2279f28..216a2248953 100644 --- a/src/tools/vmap3_extractor/wmo.cpp +++ b/src/tools/vmap3_extractor/wmo.cpp @@ -386,7 +386,7 @@ int WMOGroup::ConvertToVMAPGroupWmo(FILE *output, WMORoot *rootWMO, bool pPrecis if (rootWMO->liquidType & 4) liquidEntry = liquidType; else if (liquidType == 15) - liquidEntry = 0; + liquidEntry = 1; // first entry, generic "Water" else liquidEntry = liquidType + 1; // overwrite material type in header... -- cgit v1.2.3 From 09923bde0638fd1987bc46d01ae3f0089316ba18 Mon Sep 17 00:00:00 2001 From: Xanadu Date: Sat, 19 Jun 2010 21:50:34 +0200 Subject: Fixed win build of vmap assembler, too. --HG-- branch : trunk --- src/server/collision/Management/VMapManager2.cpp | 1 + src/server/collision/Maps/MapTree.h | 1 - src/tools/vmap3_assembler/CMakeLists.txt | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) (limited to 'src/tools') diff --git a/src/server/collision/Management/VMapManager2.cpp b/src/server/collision/Management/VMapManager2.cpp index 8e3681864d0..79d0b57790a 100644 --- a/src/server/collision/Management/VMapManager2.cpp +++ b/src/server/collision/Management/VMapManager2.cpp @@ -25,6 +25,7 @@ #include "ModelInstance.h" #include "WorldModel.h" #include "VMapDefinitions.h" +#include "Log.h" using G3D::Vector3; diff --git a/src/server/collision/Maps/MapTree.h b/src/server/collision/Maps/MapTree.h index f9c51d47b95..7a7af43e949 100644 --- a/src/server/collision/Maps/MapTree.h +++ b/src/server/collision/Maps/MapTree.h @@ -22,7 +22,6 @@ #include "Define.h" #include "Dynamic/UnorderedMap.h" #include "BoundingIntervalHierarchy.h" -#include "Log.h" namespace VMAP { diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 8c79fff6804..4b86c1ffa16 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -13,7 +13,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/externals/g3dlite ${CMAKE_SOURCE_DIR}/src/server/shared ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging ${CMAKE_SOURCE_DIR}/src/server/collision/Maps ${CMAKE_SOURCE_DIR}/src/server/collision/Models ${ACE_INCLUDE_DIR} -- cgit v1.2.3 From 1c96f52568d680e320b58874df31caabae536f4c Mon Sep 17 00:00:00 2001 From: click Date: Mon, 21 Jun 2010 07:17:26 +0200 Subject: Add more CMake-related support for building g3dlib, zlib, bzip2, ace on Windows --HG-- branch : trunk --- externals/CMakeLists.txt | 28 +- externals/ace/CMakeLists.txt | 24 ++ externals/bzip2/CMakeLists.txt | 12 + externals/g3dlite/CMakeLists.txt | 35 +- externals/jemalloc/CMakeLists.txt | 10 + externals/sockets/CMakeLists.txt | 11 + externals/zlib/CMakeLists.txt | 10 + src/CMakeLists.txt | 4 +- src/server/CMakeLists.txt | 15 +- src/server/authserver/CMakeLists.txt | 26 +- src/server/collision/CMakeLists.txt | 38 +- src/server/game/CMakeLists.txt | 673 ++++++++++++++++--------------- src/server/scripts/CMakeLists.txt | 66 +-- src/server/shared/CMakeLists.txt | 128 +++--- src/server/worldserver/CMakeLists.txt | 92 +++-- src/tools/CMakeLists.txt | 2 +- src/tools/map_extractor/CMakeLists.txt | 30 +- src/tools/vmap3_assembler/CMakeLists.txt | 21 +- src/tools/vmap3_extractor/CMakeLists.txt | 21 +- 19 files changed, 712 insertions(+), 534 deletions(-) create mode 100644 externals/ace/CMakeLists.txt (limited to 'src/tools') diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index fea7526b9c8..98381bbafdc 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -1,8 +1,26 @@ -#add_subdirectory(ace) -#add_subdirectory(libmpq) +# Copyright (C) 2008-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +if(NOT MACOSX) + add_subdirectory(jemalloc) +endif() + +if(NOT UNIX) + add_subdirectory(ace) + add_subdirectory(zlib) + add_subdirectory(bzip2) +endif() -add_subdirectory(zlib) -add_subdirectory(bzip2) add_subdirectory(g3dlite) -add_subdirectory(jemalloc) add_subdirectory(sockets) + +# temporary disable libmpq building (through CMake at least) for now +# - needs a proper CMakeLists.txt +#add_subdirectory(libmpq) diff --git a/externals/ace/CMakeLists.txt b/externals/ace/CMakeLists.txt new file mode 100644 index 00000000000..fe2a2488d9f --- /dev/null +++ b/externals/ace/CMakeLists.txt @@ -0,0 +1,24 @@ +# Copyright (C) 2008-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +file(GLOB sources *.cpp) + +set(ace_STAT_SRCS + ${sources} +) + +include_directories( + ${CMAKE_SOURCE_DIR}/externals + ${CMAKE_SOURCE_DIR}/externals/zlib +) + +add_definitions(-DACE_BUILD_DLL) + +add_library(ace STATIC ${ace_STAT_SRCS}) diff --git a/externals/bzip2/CMakeLists.txt b/externals/bzip2/CMakeLists.txt index ef857f462ab..3de5475610a 100644 --- a/externals/bzip2/CMakeLists.txt +++ b/externals/bzip2/CMakeLists.txt @@ -1,9 +1,21 @@ +# Copyright (C) 2008-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + file(GLOB sources *.c) + set(bzip2_STAT_SRCS ${sources} ) include_directories( + ${CMAKE_SOURCE_DIR}/externals/zlib ${CMAKE_CURRENT_SOURCE_DIR} ) diff --git a/externals/g3dlite/CMakeLists.txt b/externals/g3dlite/CMakeLists.txt index 9f302eff960..da5c89ec143 100644 --- a/externals/g3dlite/CMakeLists.txt +++ b/externals/g3dlite/CMakeLists.txt @@ -1,12 +1,37 @@ +# Copyright (C) 2008-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + file(GLOB sources *.cpp) -SET(g3dlib_STAT_SRCS +set(g3dlib_STAT_SRCS ${sources} +) +if(WIN32) + include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/externals/zlib ) - -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} +else() + include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} ) +endif() add_library(g3dlib STATIC ${g3dlib_STAT_SRCS}) -target_link_libraries(g3dlib zlib) + +if(WIN32) + target_link_libraries(g3dlib + zlib + ) +else() + target_link_libraries(g3dlib + ${ZLIB_LIBRARIES} + ) +endif() diff --git a/externals/jemalloc/CMakeLists.txt b/externals/jemalloc/CMakeLists.txt index 1e32407b456..d560c6ba675 100644 --- a/externals/jemalloc/CMakeLists.txt +++ b/externals/jemalloc/CMakeLists.txt @@ -1,5 +1,15 @@ +# Copyright (C) 2008-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. file(GLOB sources *.c) + set(jemalloc_STAT_SRC ${sources} ) diff --git a/externals/sockets/CMakeLists.txt b/externals/sockets/CMakeLists.txt index 716da975ca9..a1756773c08 100644 --- a/externals/sockets/CMakeLists.txt +++ b/externals/sockets/CMakeLists.txt @@ -1,4 +1,15 @@ +# Copyright (C) 2008-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + file(GLOB sources *.cpp) + set(trinitysockets_STAT_SRCS ${sources} ) diff --git a/externals/zlib/CMakeLists.txt b/externals/zlib/CMakeLists.txt index 1887110020c..bd194531bb5 100644 --- a/externals/zlib/CMakeLists.txt +++ b/externals/zlib/CMakeLists.txt @@ -1,3 +1,13 @@ +# Copyright (C) 2008-2010 Trinity +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + file(GLOB sources *.c) file(GLOB headers *.h) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 76c3de027eb..b7fd8c75336 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -11,6 +11,6 @@ add_subdirectory(server) if(DO_TOOLS) - add_subdirectory(tools) + add_subdirectory(tools) endif(DO_TOOLS) diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index cf835f7ca66..5d9b3b2ef9f 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -14,16 +14,17 @@ if(DO_WORLDSERVER) add_subdirectory(collision) if(DO_SCRIPTS) add_subdirectory(scripts) - endif(DO_SCRIPTS) + endif() add_subdirectory(worldserver) -else(DO_WORLDSERVER) +else() if(DO_TOOLS) add_subdirectory(collision) - endif(DO_TOOLS) -endif(DO_WORLDSERVER) + endif() +endif() + if (DO_AUTHSERVER) if(NOT DO_WORLDSERVER) add_subdirectory(shared) - endif(NOT DO_WORLDSERVER) + endif() add_subdirectory(authserver) -endif(DO_AUTHSERVER) \ No newline at end of file +endif() diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt index c3f5fe6331b..6cfefb69443 100644 --- a/src/server/authserver/CMakeLists.txt +++ b/src/server/authserver/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -10,7 +10,7 @@ ########### authserver ############### -SET(authserver_SRCS +set(authserver_SRCS Authentication/AuthCodes.cpp Authentication/AuthCodes.h Realms/RealmList.cpp @@ -41,20 +41,21 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/authserver/Server ) -SET(authserver_LINK_FLAGS "") +set(authserver_LINK_FLAGS "") -add_executable(authserver ${authserver_SRCS}) -add_definitions( - -D_TRINITY_REALM_CONFIG='"${CONF_DIR}/authserver.conf"' +add_executable(authserver + ${authserver_SRCS} ) -SET(trinity-realm_LINK_FLAGS "-pthread ${authserver_LINK_FLAGS}") +add_definitions(-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/authserver.conf"') -IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") - SET(authserver_LINK_FLAGS "-framework Carbon ${authserver_LINK_FLAGS}") -ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") +set(authserver_LINK_FLAGS "-pthread ${authserver_LINK_FLAGS}") -SET_TARGET_PROPERTIES(authserver PROPERTIES LINK_FLAGS "${authserver_LINK_FLAGS}") +if(CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(authserver_LINK_FLAGS "-framework Carbon ${authserver_LINK_FLAGS}") +endif() + +set_target_properties(authserver PROPERTIES LINK_FLAGS "${authserver_LINK_FLAGS}") target_link_libraries( authserver @@ -67,8 +68,7 @@ target_link_libraries( ${OSX_LIBS} ) -install(TARGETS authserver DESTINATION bin) - ########### install files ############### +install(TARGETS authserver DESTINATION bin) install(FILES authserver.conf.dist DESTINATION etc) diff --git a/src/server/collision/CMakeLists.txt b/src/server/collision/CMakeLists.txt index 0dbb44ba05b..b71f19496fe 100644 --- a/src/server/collision/CMakeLists.txt +++ b/src/server/collision/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -10,24 +10,24 @@ ########### collision ############### -SET(collision_STAT_SRCS - BoundingIntervalHierarchy.h - BoundingIntervalHierarchy.cpp - Maps/MapTree.cpp - Maps/MapTree.h - Maps/TileAssembler.cpp - Maps/TileAssembler.h - Models/ModelInstance.cpp - Models/ModelInstance.h - Models/WorldModel.cpp - Models/WorldModel.h - Management/IVMapManager.h - Management/VMapFactory.cpp - Management/VMapFactory.h - Management/VMapManager2.cpp - Management/VMapManager2.h - VMapDefinitions.h - VMapTools.h +set(collision_STAT_SRCS + BoundingIntervalHierarchy.h + BoundingIntervalHierarchy.cpp + Maps/MapTree.cpp + Maps/MapTree.h + Maps/TileAssembler.cpp + Maps/TileAssembler.h + Models/ModelInstance.cpp + Models/ModelInstance.h + Models/WorldModel.cpp + Models/WorldModel.h + Management/IVMapManager.h + Management/VMapFactory.cpp + Management/VMapFactory.h + Management/VMapManager2.cpp + Management/VMapManager2.h + VMapDefinitions.h + VMapTools.h ) include_directories( diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index 8616c730d18..387b2365f47 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -11,321 +11,322 @@ ######## game ######## # Enable precompiled headers when using the GCC compiler. -IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) -ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) +if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() -SET(game_STAT_SRCS - Accounts/AccountMgr.cpp - Accounts/AccountMgr.h - Achievements/AchievementMgr.h - Achievements/AchievementMgr.cpp - Addons/AddonMgr.cpp - Addons/AddonMgr.h - AI/CoreAI/CombatAI.cpp - AI/CoreAI/CombatAI.h - AI/CoreAI/GuardAI.cpp - AI/CoreAI/GuardAI.h - AI/CoreAI/PassiveAI.cpp - AI/CoreAI/PassiveAI.h - AI/CoreAI/PetAI.cpp - AI/CoreAI/PetAI.h - AI/CoreAI/ReactorAI.cpp - AI/CoreAI/ReactorAI.h - AI/CoreAI/TotemAI.cpp - AI/CoreAI/TotemAI.h - AI/CoreAI/UnitAI.cpp - AI/CoreAI/UnitAI.h - AI/EventAI/CreatureEventAI.cpp - AI/EventAI/CreatureEventAIMgr.cpp - AI/ScriptedAI/ScriptedSmartAI.cpp - AI/ScriptedAI/ScriptedSmartAI.h - AI/CreatureAIFactory.h - AI/CreatureAIImpl.h - AI/CreatureAIRegistry.cpp - AI/CreatureAIRegistry.h - AI/CreatureAISelector.cpp - AI/CreatureAISelector.h - AI/CreatureAI.cpp - AI/CreatureAI.h - AuctionHouse/AuctionHouseMgr.cpp - AuctionHouse/AuctionHouseMgr.h - AuctionHouse/AuctionHouseBot/AuctionHouseBot.cpp - AuctionHouse/AuctionHouseBot/AuctionHouseBot.h - BattleGrounds/ArenaTeam.cpp - BattleGrounds/ArenaTeam.h - BattleGrounds/Zones/BattleGroundAA.cpp - BattleGrounds/Zones/BattleGroundAA.h - BattleGrounds/Zones/BattleGroundAB.cpp - BattleGrounds/Zones/BattleGroundAB.h - BattleGrounds/Zones/BattleGroundRB.cpp - BattleGrounds/Zones/BattleGroundRB.h - BattleGrounds/Zones/BattleGroundAV.cpp - BattleGrounds/Zones/BattleGroundAV.h - BattleGrounds/Zones/BattleGroundBE.cpp - BattleGrounds/Zones/BattleGroundBE.h - BattleGrounds/Zones/BattleGroundDS.cpp - BattleGrounds/Zones/BattleGroundDS.h - BattleGrounds/Zones/BattleGroundEY.cpp - BattleGrounds/Zones/BattleGroundEY.h - BattleGrounds/Zones/BattleGroundIC.cpp - BattleGrounds/Zones/BattleGroundIC.h - BattleGrounds/Zones/BattleGroundNA.cpp - BattleGrounds/Zones/BattleGroundNA.h - BattleGrounds/Zones/BattleGroundRL.cpp - BattleGrounds/Zones/BattleGroundRL.h - BattleGrounds/Zones/BattleGroundRV.cpp - BattleGrounds/Zones/BattleGroundRV.h - BattleGrounds/Zones/BattleGroundSA.cpp - BattleGrounds/Zones/BattleGroundSA.h - BattleGrounds/Zones/BattleGroundWS.cpp - BattleGrounds/Zones/BattleGroundWS.h - BattleGrounds/BattleGround.cpp - BattleGrounds/BattleGround.h - BattleGrounds/BattleGroundMgr.cpp - BattleGrounds/BattleGroundMgr.h - Calendar/Calendar.cpp - Calendar/Calendar.h - Chat/Channels/Channel.cpp - Chat/Channels/Channel.h - Chat/Channels/ChannelMgr.h - Chat/Channels/ChannelMgr.cpp - Chat/Commands/Debugcmds.cpp - Chat/Commands/Level0.cpp - Chat/Commands/Level1.cpp - Chat/Commands/Level2.cpp - Chat/Commands/Level3.cpp - Chat/Chat.cpp - Chat/Chat.h - Combat/HostileRefManager.cpp - Combat/HostileRefManager.h - Combat/ThreatManager.cpp - Combat/ThreatManager.h - Combat/UnitEvents.h - Conditions/ConditionMgr.cpp - Conditions/ConditionMgr.h - DataStores/DBCEnums.h - DataStores/DBCStores.cpp - DataStores/DBCStores.h - DataStores/DBCStructure.h - DataStores/DBCfmt.h - DungeonFinding/LFG.h - DungeonFinding/LFGMgr.cpp - DungeonFinding/LFGMgr.h - Entities/Corpse/Corpse.cpp - Entities/Corpse/Corpse.h - Entities/Creature/Creature.cpp - Entities/Creature/Creature.h - Entities/Creature/CreatureGroups.cpp - Entities/Creature/CreatureGroups.h - Entities/Creature/GossipDef.cpp - Entities/Creature/GossipDef.h - Entities/Creature/TemporarySummon.cpp - Entities/Creature/TemporarySummon.h - Entities/DynamicObject/DynamicObject.cpp - Entities/DynamicObject/DynamicObject.h - Entities/GameObject/GameObject.cpp - Entities/GameObject/GameObject.h - Entities/Item/Container/Bag.cpp - Entities/Item/Container/Bag.h - Entities/Item/Item.cpp - Entities/Item/Item.h - Entities/Item/ItemEnchantmentMgr.cpp - Entities/Item/ItemEnchantmentMgr.h - Entities/Item/ItemPrototype.h - Entities/Object/Updates/UpdateData.cpp - Entities/Object/Updates/UpdateData.h - Entities/Object/Updates/UpdateFields.h - Entities/Object/Updates/UpdateMask.h - Entities/Object/ObjectDefines.h - Entities/Object/Object.cpp - Entities/Object/Object.h - Entities/Object/ObjectPosSelector.cpp - Entities/Object/ObjectPosSelector.h - Entities/Pet/Pet.cpp - Entities/Pet/Pet.h - Entities/Player/Player.cpp - Entities/Player/Player.h - Entities/Player/SocialMgr.cpp - Entities/Player/SocialMgr.h - Entities/Unit/StatSystem.cpp - Entities/Unit/Unit.cpp - Entities/Unit/Unit.h - Entities/Totem/Totem.cpp - Entities/Totem/Totem.h - Entities/Transport/Transport.cpp - Entities/Transport/Transport.h - Entities/Vehicle/Vehicle.cpp - Entities/Vehicle/Vehicle.h - Events/GameEventMgr.cpp - Events/GameEventMgr.h - Globals/GlobalEvents.cpp - Globals/GlobalEvents.h - Globals/ObjectAccessor.cpp - Globals/ObjectAccessor.h - Globals/ObjectMgr.cpp - Globals/ObjectMgr.h - Grids/Cells/Cell.h - Grids/Cells/CellImpl.h - Grids/Notifiers/GridNotifiers.cpp - Grids/Notifiers/GridNotifiers.h - Grids/Notifiers/GridNotifiersImpl.h - Grids/GridDefines.h - Grids/GridStates.cpp - Grids/GridStates.h - Grids/ObjectGridLoader.cpp - Grids/ObjectGridLoader.h - Groups/Group.cpp - Groups/Group.h - Groups/GroupReference.cpp - Groups/GroupReference.h - Groups/GroupRefManager.h - Guilds/Guild.cpp - Guilds/Guild.h - Instances/InstanceData.cpp - Instances/InstanceData.h - Instances/InstanceSaveMgr.cpp - Instances/InstanceSaveMgr.h - Loot/LootMgr.cpp - Loot/LootMgr.h - Mails/Mail.cpp - Mails/Mail.h - Maps/Map.cpp - Maps/Map.h - Maps/MapInstanced.cpp - Maps/MapInstanced.h - Maps/MapManager.cpp - Maps/MapManager.h - Maps/MapUpdater.cpp - Maps/MapUpdater.h - Maps/MapReference.h - Maps/MapRefManager.h - Maps/ZoneScript.h - Miscellaneous/Formulas.h - Miscellaneous/Language.h - Miscellaneous/SharedDefines.h - Movement/MovementGenerators/ConfusedMovementGenerator.cpp - Movement/MovementGenerators/ConfusedMovementGenerator.h - Movement/MovementGenerators/FleeingMovementGenerator.cpp - Movement/MovementGenerators/FleeingMovementGenerator.h - Movement/MovementGenerators/HomeMovementGenerator.cpp - Movement/MovementGenerators/HomeMovementGenerator.h - Movement/MovementGenerators/IdleMovementGenerator.cpp - Movement/MovementGenerators/IdleMovementGenerator.h - Movement/MovementGenerators/PointMovementGenerator.cpp - Movement/MovementGenerators/PointMovementGenerator.h - Movement/MovementGenerators/RandomMovementGenerator.cpp - Movement/MovementGenerators/RandomMovementGenerator.h - Movement/MovementGenerators/TargetedMovementGenerator.cpp - Movement/MovementGenerators/TargetedMovementGenerator.h - Movement/MovementGenerators/WaypointMovementGenerator.cpp - Movement/MovementGenerators/WaypointMovementGenerator.h - Movement/Waypoints/Path.h - Movement/Waypoints/WaypointManager.cpp - Movement/Waypoints/WaypointManager.h - Movement/DestinationHolder.cpp - Movement/DestinationHolder.h - Movement/DestinationHolderImp.h - Movement/FollowerReference.cpp - Movement/FollowerReference.h - Movement/FollowerRefManager.h - Movement/MotionMaster.cpp - Movement/MotionMaster.h - Movement/MovementGenerator.cpp - Movement/MovementGenerator.h - Movement/MovementGeneratorImpl.h - Movement/Traveller.h - OutdoorPvP/Zones/OutdoorPvPEP.cpp - OutdoorPvP/Zones/OutdoorPvPEP.h - OutdoorPvP/Zones/OutdoorPvPHP.cpp - OutdoorPvP/Zones/OutdoorPvPHP.h - OutdoorPvP/Zones/OutdoorPvPNA.cpp - OutdoorPvP/Zones/OutdoorPvPNA.h - OutdoorPvP/Zones/OutdoorPvPSI.cpp - OutdoorPvP/Zones/OutdoorPvPSI.h - OutdoorPvP/Zones/OutdoorPvPTF.cpp - OutdoorPvP/Zones/OutdoorPvPTF.h - OutdoorPvP/Zones/OutdoorPvPZM.cpp - OutdoorPvP/Zones/OutdoorPvPZM.h - OutdoorPvP/OutdoorPvP.cpp - OutdoorPvP/OutdoorPvP.h - OutdoorPvP/OutdoorPvPImpl.h - OutdoorPvP/OutdoorPvPMgr.cpp - OutdoorPvP/OutdoorPvPMgr.h - Pools/PoolHandler.cpp - Pools/PoolHandler.h - Quests/QuestDef.cpp - Quests/QuestDef.h - Reputation/ReputationMgr.cpp - Reputation/ReputationMgr.h - Scripting/ScriptLoader.cpp - Scripting/ScriptLoader.h - Scripting/ScriptMgr.cpp - Scripting/ScriptMgr.h - Scripting/ScriptSystem.cpp - Scripting/ScriptSystem.h - Server/Protocol/Handlers/AddonHandler.cpp - Server/Protocol/Handlers/AddonHandler.h - Server/Protocol/Handlers/ArenaTeamHandler.cpp - Server/Protocol/Handlers/AuctionHouseHandler.cpp - Server/Protocol/Handlers/BattleGroundHandler.cpp - Server/Protocol/Handlers/CalendarHandler.cpp - Server/Protocol/Handlers/ChannelHandler.cpp - Server/Protocol/Handlers/CharacterHandler.cpp - Server/Protocol/Handlers/ChatHandler.cpp - Server/Protocol/Handlers/CombatHandler.cpp - Server/Protocol/Handlers/DuelHandler.cpp - Server/Protocol/Handlers/GroupHandler.cpp - Server/Protocol/Handlers/GuildHandler.cpp - Server/Protocol/Handlers/ItemHandler.cpp - Server/Protocol/Handlers/LFGHandler.cpp - Server/Protocol/Handlers/LootHandler.cpp - Server/Protocol/Handlers/MiscHandler.cpp - Server/Protocol/Handlers/MovementHandler.cpp - Server/Protocol/Handlers/NPCHandler.cpp - Server/Protocol/Handlers/NPCHandler.h - Server/Protocol/Handlers/PetHandler.cpp - Server/Protocol/Handlers/PetitionsHandler.cpp - Server/Protocol/Handlers/QueryHandler.cpp - Server/Protocol/Handlers/QuestHandler.cpp - Server/Protocol/Handlers/SkillHandler.cpp - Server/Protocol/Handlers/SpellHandler.cpp - Server/Protocol/Handlers/TaxiHandler.cpp - Server/Protocol/Handlers/TicketHandler.cpp - Server/Protocol/Handlers/TradeHandler.cpp - Server/Protocol/Handlers/VoiceChatHandler.cpp - Server/Protocol/Opcodes.cpp - Server/Protocol/Opcodes.h - Server/Protocol/WorldLog.cpp - Server/Protocol/WorldLog.h - Server/WorldSession.cpp - Server/WorldSession.h - Server/WorldSocket.cpp - Server/WorldSocket.h - Server/WorldSocketMgr.cpp - Server/WorldSocketMgr.h - Skills/SkillDiscovery.cpp - Skills/SkillDiscovery.h - Skills/SkillExtraItems.cpp - Skills/SkillExtraItems.h - Spells/Auras/SpellAuraDefines.h - Spells/Auras/SpellAuras.cpp - Spells/Auras/SpellAuras.h - Spells/Auras/SpellAuraEffects.cpp - Spells/Auras/SpellAuraEffects.h - Spells/Auras/SpellEffects.cpp - Spells/Spell.cpp - Spells/Spell.h - Spells/SpellMgr.cpp - Spells/SpellMgr.h - Tools/PlayerDump.cpp - Tools/PlayerDump.h - Tools/Tools.cpp - Tools/Tools.h - Weather/Weather.cpp - Weather/Weather.h - World/World.cpp - World/World.h +# Create game-libary +set(game_STAT_SRCS + Accounts/AccountMgr.cpp + Accounts/AccountMgr.h + Achievements/AchievementMgr.h + Achievements/AchievementMgr.cpp + Addons/AddonMgr.cpp + Addons/AddonMgr.h + AI/CoreAI/CombatAI.cpp + AI/CoreAI/CombatAI.h + AI/CoreAI/GuardAI.cpp + AI/CoreAI/GuardAI.h + AI/CoreAI/PassiveAI.cpp + AI/CoreAI/PassiveAI.h + AI/CoreAI/PetAI.cpp + AI/CoreAI/PetAI.h + AI/CoreAI/ReactorAI.cpp + AI/CoreAI/ReactorAI.h + AI/CoreAI/TotemAI.cpp + AI/CoreAI/TotemAI.h + AI/CoreAI/UnitAI.cpp + AI/CoreAI/UnitAI.h + AI/EventAI/CreatureEventAI.cpp + AI/EventAI/CreatureEventAIMgr.cpp + AI/ScriptedAI/ScriptedSmartAI.cpp + AI/ScriptedAI/ScriptedSmartAI.h + AI/CreatureAIFactory.h + AI/CreatureAIImpl.h + AI/CreatureAIRegistry.cpp + AI/CreatureAIRegistry.h + AI/CreatureAISelector.cpp + AI/CreatureAISelector.h + AI/CreatureAI.cpp + AI/CreatureAI.h + AuctionHouse/AuctionHouseMgr.cpp + AuctionHouse/AuctionHouseMgr.h + AuctionHouse/AuctionHouseBot/AuctionHouseBot.cpp + AuctionHouse/AuctionHouseBot/AuctionHouseBot.h + BattleGrounds/ArenaTeam.cpp + BattleGrounds/ArenaTeam.h + BattleGrounds/Zones/BattleGroundAA.cpp + BattleGrounds/Zones/BattleGroundAA.h + BattleGrounds/Zones/BattleGroundAB.cpp + BattleGrounds/Zones/BattleGroundAB.h + BattleGrounds/Zones/BattleGroundRB.cpp + BattleGrounds/Zones/BattleGroundRB.h + BattleGrounds/Zones/BattleGroundAV.cpp + BattleGrounds/Zones/BattleGroundAV.h + BattleGrounds/Zones/BattleGroundBE.cpp + BattleGrounds/Zones/BattleGroundBE.h + BattleGrounds/Zones/BattleGroundDS.cpp + BattleGrounds/Zones/BattleGroundDS.h + BattleGrounds/Zones/BattleGroundEY.cpp + BattleGrounds/Zones/BattleGroundEY.h + BattleGrounds/Zones/BattleGroundIC.cpp + BattleGrounds/Zones/BattleGroundIC.h + BattleGrounds/Zones/BattleGroundNA.cpp + BattleGrounds/Zones/BattleGroundNA.h + BattleGrounds/Zones/BattleGroundRL.cpp + BattleGrounds/Zones/BattleGroundRL.h + BattleGrounds/Zones/BattleGroundRV.cpp + BattleGrounds/Zones/BattleGroundRV.h + BattleGrounds/Zones/BattleGroundSA.cpp + BattleGrounds/Zones/BattleGroundSA.h + BattleGrounds/Zones/BattleGroundWS.cpp + BattleGrounds/Zones/BattleGroundWS.h + BattleGrounds/BattleGround.cpp + BattleGrounds/BattleGround.h + BattleGrounds/BattleGroundMgr.cpp + BattleGrounds/BattleGroundMgr.h + Calendar/Calendar.cpp + Calendar/Calendar.h + Chat/Channels/Channel.cpp + Chat/Channels/Channel.h + Chat/Channels/ChannelMgr.h + Chat/Channels/ChannelMgr.cpp + Chat/Commands/Debugcmds.cpp + Chat/Commands/Level0.cpp + Chat/Commands/Level1.cpp + Chat/Commands/Level2.cpp + Chat/Commands/Level3.cpp + Chat/Chat.cpp + Chat/Chat.h + Combat/HostileRefManager.cpp + Combat/HostileRefManager.h + Combat/ThreatManager.cpp + Combat/ThreatManager.h + Combat/UnitEvents.h + Conditions/ConditionMgr.cpp + Conditions/ConditionMgr.h + DataStores/DBCEnums.h + DataStores/DBCStores.cpp + DataStores/DBCStores.h + DataStores/DBCStructure.h + DataStores/DBCfmt.h + DungeonFinding/LFG.h + DungeonFinding/LFGMgr.cpp + DungeonFinding/LFGMgr.h + Entities/Corpse/Corpse.cpp + Entities/Corpse/Corpse.h + Entities/Creature/Creature.cpp + Entities/Creature/Creature.h + Entities/Creature/CreatureGroups.cpp + Entities/Creature/CreatureGroups.h + Entities/Creature/GossipDef.cpp + Entities/Creature/GossipDef.h + Entities/Creature/TemporarySummon.cpp + Entities/Creature/TemporarySummon.h + Entities/DynamicObject/DynamicObject.cpp + Entities/DynamicObject/DynamicObject.h + Entities/GameObject/GameObject.cpp + Entities/GameObject/GameObject.h + Entities/Item/Container/Bag.cpp + Entities/Item/Container/Bag.h + Entities/Item/Item.cpp + Entities/Item/Item.h + Entities/Item/ItemEnchantmentMgr.cpp + Entities/Item/ItemEnchantmentMgr.h + Entities/Item/ItemPrototype.h + Entities/Object/Updates/UpdateData.cpp + Entities/Object/Updates/UpdateData.h + Entities/Object/Updates/UpdateFields.h + Entities/Object/Updates/UpdateMask.h + Entities/Object/ObjectDefines.h + Entities/Object/Object.cpp + Entities/Object/Object.h + Entities/Object/ObjectPosSelector.cpp + Entities/Object/ObjectPosSelector.h + Entities/Pet/Pet.cpp + Entities/Pet/Pet.h + Entities/Player/Player.cpp + Entities/Player/Player.h + Entities/Player/SocialMgr.cpp + Entities/Player/SocialMgr.h + Entities/Unit/StatSystem.cpp + Entities/Unit/Unit.cpp + Entities/Unit/Unit.h + Entities/Totem/Totem.cpp + Entities/Totem/Totem.h + Entities/Transport/Transport.cpp + Entities/Transport/Transport.h + Entities/Vehicle/Vehicle.cpp + Entities/Vehicle/Vehicle.h + Events/GameEventMgr.cpp + Events/GameEventMgr.h + Globals/GlobalEvents.cpp + Globals/GlobalEvents.h + Globals/ObjectAccessor.cpp + Globals/ObjectAccessor.h + Globals/ObjectMgr.cpp + Globals/ObjectMgr.h + Grids/Cells/Cell.h + Grids/Cells/CellImpl.h + Grids/Notifiers/GridNotifiers.cpp + Grids/Notifiers/GridNotifiers.h + Grids/Notifiers/GridNotifiersImpl.h + Grids/GridDefines.h + Grids/GridStates.cpp + Grids/GridStates.h + Grids/ObjectGridLoader.cpp + Grids/ObjectGridLoader.h + Groups/Group.cpp + Groups/Group.h + Groups/GroupReference.cpp + Groups/GroupReference.h + Groups/GroupRefManager.h + Guilds/Guild.cpp + Guilds/Guild.h + Instances/InstanceData.cpp + Instances/InstanceData.h + Instances/InstanceSaveMgr.cpp + Instances/InstanceSaveMgr.h + Loot/LootMgr.cpp + Loot/LootMgr.h + Mails/Mail.cpp + Mails/Mail.h + Maps/Map.cpp + Maps/Map.h + Maps/MapInstanced.cpp + Maps/MapInstanced.h + Maps/MapManager.cpp + Maps/MapManager.h + Maps/MapUpdater.cpp + Maps/MapUpdater.h + Maps/MapReference.h + Maps/MapRefManager.h + Maps/ZoneScript.h + Miscellaneous/Formulas.h + Miscellaneous/Language.h + Miscellaneous/SharedDefines.h + Movement/MovementGenerators/ConfusedMovementGenerator.cpp + Movement/MovementGenerators/ConfusedMovementGenerator.h + Movement/MovementGenerators/FleeingMovementGenerator.cpp + Movement/MovementGenerators/FleeingMovementGenerator.h + Movement/MovementGenerators/HomeMovementGenerator.cpp + Movement/MovementGenerators/HomeMovementGenerator.h + Movement/MovementGenerators/IdleMovementGenerator.cpp + Movement/MovementGenerators/IdleMovementGenerator.h + Movement/MovementGenerators/PointMovementGenerator.cpp + Movement/MovementGenerators/PointMovementGenerator.h + Movement/MovementGenerators/RandomMovementGenerator.cpp + Movement/MovementGenerators/RandomMovementGenerator.h + Movement/MovementGenerators/TargetedMovementGenerator.cpp + Movement/MovementGenerators/TargetedMovementGenerator.h + Movement/MovementGenerators/WaypointMovementGenerator.cpp + Movement/MovementGenerators/WaypointMovementGenerator.h + Movement/Waypoints/Path.h + Movement/Waypoints/WaypointManager.cpp + Movement/Waypoints/WaypointManager.h + Movement/DestinationHolder.cpp + Movement/DestinationHolder.h + Movement/DestinationHolderImp.h + Movement/FollowerReference.cpp + Movement/FollowerReference.h + Movement/FollowerRefManager.h + Movement/MotionMaster.cpp + Movement/MotionMaster.h + Movement/MovementGenerator.cpp + Movement/MovementGenerator.h + Movement/MovementGeneratorImpl.h + Movement/Traveller.h + OutdoorPvP/Zones/OutdoorPvPEP.cpp + OutdoorPvP/Zones/OutdoorPvPEP.h + OutdoorPvP/Zones/OutdoorPvPHP.cpp + OutdoorPvP/Zones/OutdoorPvPHP.h + OutdoorPvP/Zones/OutdoorPvPNA.cpp + OutdoorPvP/Zones/OutdoorPvPNA.h + OutdoorPvP/Zones/OutdoorPvPSI.cpp + OutdoorPvP/Zones/OutdoorPvPSI.h + OutdoorPvP/Zones/OutdoorPvPTF.cpp + OutdoorPvP/Zones/OutdoorPvPTF.h + OutdoorPvP/Zones/OutdoorPvPZM.cpp + OutdoorPvP/Zones/OutdoorPvPZM.h + OutdoorPvP/OutdoorPvP.cpp + OutdoorPvP/OutdoorPvP.h + OutdoorPvP/OutdoorPvPImpl.h + OutdoorPvP/OutdoorPvPMgr.cpp + OutdoorPvP/OutdoorPvPMgr.h + Pools/PoolHandler.cpp + Pools/PoolHandler.h + Quests/QuestDef.cpp + Quests/QuestDef.h + Reputation/ReputationMgr.cpp + Reputation/ReputationMgr.h + Scripting/ScriptLoader.cpp + Scripting/ScriptLoader.h + Scripting/ScriptMgr.cpp + Scripting/ScriptMgr.h + Scripting/ScriptSystem.cpp + Scripting/ScriptSystem.h + Server/Protocol/Handlers/AddonHandler.cpp + Server/Protocol/Handlers/AddonHandler.h + Server/Protocol/Handlers/ArenaTeamHandler.cpp + Server/Protocol/Handlers/AuctionHouseHandler.cpp + Server/Protocol/Handlers/BattleGroundHandler.cpp + Server/Protocol/Handlers/CalendarHandler.cpp + Server/Protocol/Handlers/ChannelHandler.cpp + Server/Protocol/Handlers/CharacterHandler.cpp + Server/Protocol/Handlers/ChatHandler.cpp + Server/Protocol/Handlers/CombatHandler.cpp + Server/Protocol/Handlers/DuelHandler.cpp + Server/Protocol/Handlers/GroupHandler.cpp + Server/Protocol/Handlers/GuildHandler.cpp + Server/Protocol/Handlers/ItemHandler.cpp + Server/Protocol/Handlers/LFGHandler.cpp + Server/Protocol/Handlers/LootHandler.cpp + Server/Protocol/Handlers/MiscHandler.cpp + Server/Protocol/Handlers/MovementHandler.cpp + Server/Protocol/Handlers/NPCHandler.cpp + Server/Protocol/Handlers/NPCHandler.h + Server/Protocol/Handlers/PetHandler.cpp + Server/Protocol/Handlers/PetitionsHandler.cpp + Server/Protocol/Handlers/QueryHandler.cpp + Server/Protocol/Handlers/QuestHandler.cpp + Server/Protocol/Handlers/SkillHandler.cpp + Server/Protocol/Handlers/SpellHandler.cpp + Server/Protocol/Handlers/TaxiHandler.cpp + Server/Protocol/Handlers/TicketHandler.cpp + Server/Protocol/Handlers/TradeHandler.cpp + Server/Protocol/Handlers/VoiceChatHandler.cpp + Server/Protocol/Opcodes.cpp + Server/Protocol/Opcodes.h + Server/Protocol/WorldLog.cpp + Server/Protocol/WorldLog.h + Server/WorldSession.cpp + Server/WorldSession.h + Server/WorldSocket.cpp + Server/WorldSocket.h + Server/WorldSocketMgr.cpp + Server/WorldSocketMgr.h + Skills/SkillDiscovery.cpp + Skills/SkillDiscovery.h + Skills/SkillExtraItems.cpp + Skills/SkillExtraItems.h + Spells/Auras/SpellAuraDefines.h + Spells/Auras/SpellAuras.cpp + Spells/Auras/SpellAuras.h + Spells/Auras/SpellAuraEffects.cpp + Spells/Auras/SpellAuraEffects.h + Spells/Auras/SpellEffects.cpp + Spells/Spell.cpp + Spells/Spell.h + Spells/SpellMgr.cpp + Spells/SpellMgr.h + Tools/PlayerDump.cpp + Tools/PlayerDump.h + Tools/Tools.cpp + Tools/Tools.h + Weather/Weather.cpp + Weather/Weather.h + World/World.cpp + World/World.h ) include_directories( @@ -420,28 +421,28 @@ include_directories( ) if(NOT DO_SCRIPTS) - SET(game_STAT_SRCS ${game_STAT_SRCS} - AI/ScriptedAI/ScriptedEscortAI.cpp - AI/ScriptedAI/ScriptedEscortAI.h - AI/ScriptedAI/ScriptedCreature.cpp - AI/ScriptedAI/ScriptedCreature.h - AI/ScriptedAI/ScriptedFollowerAI.cpp - AI/ScriptedAI/ScriptedFollowerAI.h - AI/ScriptedAI/ScriptedGossip.h - AI/ScriptedAI/ScriptedGuardAI.cpp - AI/ScriptedAI/ScriptedGuardAI.h - AI/ScriptedAI/ScriptedInstance.h - AI/ScriptedAI/ScriptedSimpleAI.cpp - AI/ScriptedAI/ScriptedSimpleAI.h - ) - message("-- Added Script Engine to GAME lib") -endif(NOT DO_SCRIPTS) + set(game_STAT_SRCS ${game_STAT_SRCS} + AI/ScriptedAI/ScriptedEscortAI.cpp + AI/ScriptedAI/ScriptedEscortAI.h + AI/ScriptedAI/ScriptedCreature.cpp + AI/ScriptedAI/ScriptedCreature.h + AI/ScriptedAI/ScriptedFollowerAI.cpp + AI/ScriptedAI/ScriptedFollowerAI.h + AI/ScriptedAI/ScriptedGossip.h + AI/ScriptedAI/ScriptedGuardAI.cpp + AI/ScriptedAI/ScriptedGuardAI.h + AI/ScriptedAI/ScriptedInstance.h + AI/ScriptedAI/ScriptedSimpleAI.cpp + AI/ScriptedAI/ScriptedSimpleAI.h + ) + message("-- Added basic scriptAI-engines to GAME library") +endif() add_library(game STATIC ${game_STAT_SRCS}) -ADD_DEPENDENCIES(game revision.h) -# Generate precompiled header -IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) - ADD_PRECOMPILED_HEADER(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/NixCorePCH.h) -ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) +add_dependencies(game revision.h) +# Generate precompiled header +if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) + add_precompiled_header(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/NixCorePCH.h) +endif() diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt index 02228d49ba9..7d10625e9d6 100644 --- a/src/server/scripts/CMakeLists.txt +++ b/src/server/scripts/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -8,7 +8,6 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -####### scripts ######## file(GLOB_RECURSE scripts_easternkingdoms EasternKingdoms/*.cpp) file(GLOB_RECURSE scripts_kalimdor Kalimdor/*.cpp) file(GLOB_RECURSE scripts_northrend Northrend/*.cpp) @@ -17,34 +16,36 @@ file(GLOB_RECURSE scripts_world World/*.cpp) file(GLOB_RECURSE scripts_examples Examples/*.cpp) # Enable precompiled headers when using the GCC compiler. -IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) - INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) -ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) +if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) + include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ) +endif() -SET(scripts_STAT_SRCS - ../game/PrecompiledHeaders/ScriptPCH.cpp - ../game/PrecompiledHeaders/ScriptPCH.h - ../game/AI/ScriptedAI/ScriptedEscortAI.cpp - ../game/AI/ScriptedAI/ScriptedEscortAI.h - ../game/AI/ScriptedAI/ScriptedCreature.cpp - ../game/AI/ScriptedAI/ScriptedCreature.h - ../game/AI/ScriptedAI/ScriptedFollowerAI.cpp - ../game/AI/ScriptedAI/ScriptedFollowerAI.h - ../game/AI/ScriptedAI/ScriptedGossip.h - ../game/AI/ScriptedAI/ScriptedGuardAI.cpp - ../game/AI/ScriptedAI/ScriptedGuardAI.h - ../game/AI/ScriptedAI/ScriptedInstance.h - ../game/AI/ScriptedAI/ScriptedSimpleAI.cpp - ../game/AI/ScriptedAI/ScriptedSimpleAI.h - Custom/on_events.cpp - ${scripts_easternkingdoms} - ${scripts_kalimdor} - ${scripts_northrend} - ${scripts_outland} - ${scripts_world} - ${scripts_examples} +set(scripts_STAT_SRCS + ../game/PrecompiledHeaders/ScriptPCH.cpp + ../game/PrecompiledHeaders/ScriptPCH.h + ../game/AI/ScriptedAI/ScriptedEscortAI.cpp + ../game/AI/ScriptedAI/ScriptedEscortAI.h + ../game/AI/ScriptedAI/ScriptedCreature.cpp + ../game/AI/ScriptedAI/ScriptedCreature.h + ../game/AI/ScriptedAI/ScriptedFollowerAI.cpp + ../game/AI/ScriptedAI/ScriptedFollowerAI.h + ../game/AI/ScriptedAI/ScriptedGossip.h + ../game/AI/ScriptedAI/ScriptedGuardAI.cpp + ../game/AI/ScriptedAI/ScriptedGuardAI.h + ../game/AI/ScriptedAI/ScriptedInstance.h + ../game/AI/ScriptedAI/ScriptedSimpleAI.cpp + ../game/AI/ScriptedAI/ScriptedSimpleAI.h + Custom/on_events.cpp + ${scripts_easternkingdoms} + ${scripts_kalimdor} + ${scripts_northrend} + ${scripts_outland} + ${scripts_world} + ${scripts_examples} ) -message("-- Added Script Engine to SCRIPTS lib") +message("-- Added Scriptengine to SCRIPTS lib") include_directories( ${ACE_INCLUDE_DIR} @@ -134,7 +135,8 @@ include_directories( add_library(scripts STATIC ${scripts_STAT_SRCS}) # Generate precompiled header -IF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) - ADD_PRECOMPILED_HEADER(scripts ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/ScriptPCH.h) -ENDIF(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) - +if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX) + add_precompiled_header(scripts + ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/ScriptPCH.h + ) +endif() diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index 6ff39c724de..c815ddb9902 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -10,27 +10,27 @@ ########### shared ############### -SET(shared_STAT_SRCS - Debugging/Errors.h - Logging/Log.cpp - Logging/Log.h - Packets/ByteBuffer.h - Packets/WorldPacket.h - Policies/ObjectLifeTime.cpp - Threading/DelayExecutor.cpp - Threading/DelayExecutor.h - Threading/Threading.cpp - Utilities/ProgressBar.cpp - Utilities/ProgressBar.h - Utilities/SignalHandler.h - Utilities/Timer.h - Utilities/Util.cpp - Utilities/Util.h - Utilities/EventProcessor.cpp - Utilities/EventProcessor.h - Common.cpp - Common.h - SystemConfig.h +set(shared_STAT_SRCS + Debugging/Errors.h + Logging/Log.cpp + Logging/Log.h + Packets/ByteBuffer.h + Packets/WorldPacket.h + Policies/ObjectLifeTime.cpp + Threading/DelayExecutor.cpp + Threading/DelayExecutor.h + Threading/Threading.cpp + Utilities/ProgressBar.cpp + Utilities/ProgressBar.h + Utilities/SignalHandler.h + Utilities/Timer.h + Utilities/Util.cpp + Utilities/Util.h + Utilities/EventProcessor.cpp + Utilities/EventProcessor.h + Common.cpp + Common.h + SystemConfig.h ) include_directories( @@ -56,22 +56,22 @@ include_directories( ) add_library(shared STATIC ${shared_STAT_SRCS}) + target_link_libraries( -shared -${ACE_LIBRARY} + shared + ${ACE_LIBRARY} ) - ########### trinityconfig ############### -SET(trinityconfig_STAT_SRCS - Configuration/dotconfpp/dotconfpp.cpp - Configuration/dotconfpp/dotconfpp.h - Configuration/dotconfpp/mempool.cpp - Configuration/dotconfpp/mempool.h - Configuration/Config.cpp - Configuration/Config.h - Configuration/ConfigEnv.h +set(trinityconfig_STAT_SRCS + Configuration/dotconfpp/dotconfpp.cpp + Configuration/dotconfpp/dotconfpp.h + Configuration/dotconfpp/mempool.cpp + Configuration/dotconfpp/mempool.h + Configuration/Config.cpp + Configuration/Config.h + Configuration/ConfigEnv.h ) include_directories( @@ -84,19 +84,19 @@ add_library(trinityconfig STATIC ${trinityconfig_STAT_SRCS}) ########### trinityauth ############### -SET(trinityauth_STAT_SRCS - Cryptography/Authentication/AuthCrypt.cpp - Cryptography/Authentication/AuthCrypt.h - Cryptography/BigNumber.cpp - Cryptography/BigNumber.h - Cryptography/HMACSHA1.cpp - Cryptography/HMACSHA1.h - Cryptography/SHA1.cpp - Cryptography/SHA1.h - Cryptography/MD5.c - Cryptography/MD5.h - Cryptography/ARC4.cpp - Cryptography/ARC4.h +set(trinityauth_STAT_SRCS + Cryptography/Authentication/AuthCrypt.cpp + Cryptography/Authentication/AuthCrypt.h + Cryptography/BigNumber.cpp + Cryptography/BigNumber.h + Cryptography/HMACSHA1.cpp + Cryptography/HMACSHA1.h + Cryptography/SHA1.cpp + Cryptography/SHA1.h + Cryptography/MD5.c + Cryptography/MD5.h + Cryptography/ARC4.cpp + Cryptography/ARC4.h ) include_directories( @@ -110,24 +110,24 @@ add_library(trinityauth STATIC ${trinityauth_STAT_SRCS}) ########### trinitydatabase ############### -SET(trinitydatabase_STAT_SRCS - DataStores/DBCFileLoader.cpp - DataStores/DBCFileLoader.h - DataStores/DBCStore.h - Database/Database.cpp - Database/Database.h - Database/DatabaseEnv.h - Database/DatabaseImpl.h - Database/Field.cpp - Database/Field.h - Database/QueryResult.cpp - Database/QueryResult.h - Database/SQLStorage.cpp - Database/SQLStorage.h - Database/SqlDelayThread.cpp - Database/SqlDelayThread.h - Database/SqlOperations.cpp - Database/SqlOperations.h +set(trinitydatabase_STAT_SRCS + DataStores/DBCFileLoader.cpp + DataStores/DBCFileLoader.h + DataStores/DBCStore.h + Database/Database.cpp + Database/Database.h + Database/DatabaseEnv.h + Database/DatabaseImpl.h + Database/Field.cpp + Database/Field.h + Database/QueryResult.cpp + Database/QueryResult.h + Database/SQLStorage.cpp + Database/SQLStorage.h + Database/SqlDelayThread.cpp + Database/SqlDelayThread.h + Database/SqlOperations.cpp + Database/SqlOperations.h ) include_directories( diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index 6b496aa7794..973cdaec200 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -10,7 +10,7 @@ ########### worldserver ############### -SET(worldserver_SRCS +set(worldserver_SRCS CommandLine/CliRunnable.cpp CommandLine/CliRunnable.h RemoteAccess/RASocket.cpp @@ -119,53 +119,71 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/worldserver/WorldThread ) -SET(worldserver_LINK_FLAGS "") +set(worldserver_LINK_FLAGS "") add_executable(worldserver ${worldserver_SRCS}) add_definitions( -D_TRINITY_CORE_CONFIG='"${CONF_DIR}/worldserver.conf"' ) -SET(worldserver_LINK_FLAGS "-pthread ${worldserver_LINK_FLAGS}") +set(worldserver_LINK_FLAGS + "-pthread ${worldserver_LINK_FLAGS}" +) -IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") - SET(worldserver_LINK_FLAGS "-framework Carbon ${worldserver_LINK_FLAGS}") - SET(SCRIPT_LIB "") -ENDIF (CMAKE_SYSTEM_NAME MATCHES "Darwin") +if(CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(worldserver_LINK_FLAGS "-framework Carbon ${worldserver_LINK_FLAGS}") + set(SCRIPT_LIB "") +endif() -SET_TARGET_PROPERTIES(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAGS}") +set_target_properties(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAGS}") if(DO_SCRIPTS) - SET(SCRIPT_LIB "scripts") + set(SCRIPT_LIB "scripts") else(DO_SCRIPTS) - SET(SCRIPT_LIB "") + set(SCRIPT_LIB "") endif(DO_SCRIPTS) - -target_link_libraries( - worldserver - game - shared - zlib - trinitysockets - trinitydatabase - trinityauth - trinityconfig - collision - g3dlib - jemalloc - ${SCRIPT_LIB} - ${READLINE_LIBRARY} - ${TERMCAP_LIBRARY} - ${ACE_LIBRARY} - ${MYSQL_LIBRARY} - ${OPENSSL_LIBRARIES} - ${ZLIB} - ${OSX_LIBS} -) - -install(TARGETS worldserver DESTINATION bin) +if(WIN32) + target_link_libraries( + worldserver + game + shared + zlib + trinitysockets + trinitydatabase + trinityauth + trinityconfig + collision + g3dlib + jemalloc + ${SCRIPT_LIB} + ${ACE_LIBRARY} + ${MYSQL_LIBRARY} + ${OPENSSL_LIBRARIES} + ) +else() + target_link_libraries( + worldserver + game + shared + trinitysockets + trinitydatabase + trinityauth + trinityconfig + collision + g3dlib + jemalloc + ${SCRIPT_LIB} + ${READLINE_LIBRARY} + ${TERMCAP_LIBRARY} + ${ACE_LIBRARY} + ${MYSQL_LIBRARY} + ${OPENSSL_LIBRARIES} + ${ZLIB_LIBRARIES} + ${OSX_LIBS} + ) +endif() ########### install files ############### -install(FILES worldserver.conf.dist DESTINATION etc) - +install(TARGETS worldserver DESTINATION bin) +install(FILES worldserver.conf.dist DESTINATION etc) diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt index f960329674f..4121a9579ec 100644 --- a/src/tools/CMakeLists.txt +++ b/src/tools/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index 8e7fa0df891..ce5e54ac4f0 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -28,7 +28,15 @@ add_library(loadlib ${loadlib_sources} ) -target_link_libraries(loadlib zlib) +if(NOT UNIX) + target_link_libraries(loadlib + zlib + ) +else() + target_link_libraries(loadlib + ${ZLIB_LIBRARIES} + ) +endif() add_library(libmpq ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/common.c @@ -43,10 +51,18 @@ add_executable(mapextractor ${sources} ) -target_link_libraries(mapextractor - libmpq - loadlib - bzip2 -) +if(WIN32) + target_link_libraries(mapextractor + libmpq + loadlib + bzip2 + ) +else() + target_link_libraries(mapextractor + libmpq + loadlib + ${BZIP2_LIBRARIES} + ) +endif() install(TARGETS mapextractor DESTINATION bin) diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 4b86c1ffa16..0b8ece2dc37 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -10,16 +10,31 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. include_directories( + ${ACE_INCLUDE_DIR} + ${ZLIB_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/externals/g3dlite ${CMAKE_SOURCE_DIR}/src/server/shared ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging ${CMAKE_SOURCE_DIR}/src/server/collision/Maps ${CMAKE_SOURCE_DIR}/src/server/collision/Models - ${ACE_INCLUDE_DIR} ) add_definitions(-DNO_CORE_FUNCS) + add_executable(vmap3assembler VMapAssembler.cpp) -target_link_libraries(vmap3assembler collision g3dlib) + +if(WIN32) + target_link_libraries(vmap3assembler + collision + g3dlib + zlib + ) +else() + target_link_libraries(vmap3assembler + collision + g3dlib + ${ZLIB_LIBRARIES} + ) +endif() install(TARGETS vmap3assembler DESTINATION bin) diff --git a/src/tools/vmap3_extractor/CMakeLists.txt b/src/tools/vmap3_extractor/CMakeLists.txt index 02d044cdaa9..c159c6fd715 100644 --- a/src/tools/vmap3_extractor/CMakeLists.txt +++ b/src/tools/vmap3_extractor/CMakeLists.txt @@ -1,5 +1,5 @@ # Copyright (C) 2005-2009 MaNGOS project -# Copyright (C) 2005-2010 Trinity +# Copyright (C) 2008-2010 Trinity # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without @@ -9,9 +9,24 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +file(GLOB sources *.cpp) + include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) -add_executable(vmap3extractor adtfile.cpp dbcfile.cpp model.cpp mpq_libmpq.cpp vmapexport.cpp wdtfile.cpp wmo.cpp) -target_link_libraries(vmap3extractor libmpq bzip2 zlib) +add_executable(vmap3extractor ${sources}) + +if(WIN32) + target_link_libraries(vmap3extractor + libmpq + bzip2 + zlib + ) +else() + target_link_libraries(vmap3extractor + libmpq + ${BZIP2_LIBRARIES} + ${ZLIB_LIBRARIES} + ) +endif() install(TARGETS vmap3extractor DESTINATION bin) -- cgit v1.2.3 From 4b9ec1b539186f87b87f627a93d5819608bfd84a Mon Sep 17 00:00:00 2001 From: click Date: Tue, 22 Jun 2010 16:04:05 +0200 Subject: Fix use of vmap3extractor on 64-bit *nix-systems --HG-- branch : trunk --- src/tools/vmap3_extractor/CMakeLists.txt | 13 ++++++++++--- src/tools/vmap3_extractor/loadlib/loadlib.h | 26 ++++++++++++++------------ src/tools/vmap3_extractor/mpq_libmpq.cpp | 2 +- src/tools/vmap3_extractor/mpq_libmpq04.h | 2 +- src/tools/vmap3_extractor/vmapexport.cpp | 14 +++++++------- 5 files changed, 33 insertions(+), 24 deletions(-) mode change 100644 => 100755 src/tools/vmap3_extractor/CMakeLists.txt (limited to 'src/tools') diff --git a/src/tools/vmap3_extractor/CMakeLists.txt b/src/tools/vmap3_extractor/CMakeLists.txt old mode 100644 new mode 100755 index c159c6fd715..9dfdd545df8 --- a/src/tools/vmap3_extractor/CMakeLists.txt +++ b/src/tools/vmap3_extractor/CMakeLists.txt @@ -11,19 +11,26 @@ file(GLOB sources *.cpp) -include_directories (${CMAKE_SOURCE_DIR}/externals/libmpq) +# uncomment next line to disable debug mode +add_definitions("-DIOMAP_DEBUG") + +# build setup currently only supports libmpq 0.4.x +add_definitions("-DUSE_LIBMPQ04") +add_definitions("-Wall") +add_definitions("-ggdb") +add_definitions("-O3") add_executable(vmap3extractor ${sources}) if(WIN32) target_link_libraries(vmap3extractor - libmpq + mpq bzip2 zlib ) else() target_link_libraries(vmap3extractor - libmpq + mpq ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} ) diff --git a/src/tools/vmap3_extractor/loadlib/loadlib.h b/src/tools/vmap3_extractor/loadlib/loadlib.h index 6acfd107ec7..53731753425 100644 --- a/src/tools/vmap3_extractor/loadlib/loadlib.h +++ b/src/tools/vmap3_extractor/loadlib/loadlib.h @@ -3,26 +3,28 @@ #ifdef WIN32 typedef __int64 int64; -typedef long int32; -typedef short int16; -typedef char int8; +typedef __int32 int32; +typedef __int16 int16; +typedef __int8 int8; typedef unsigned __int64 uint64; -typedef unsigned long uint32; -typedef unsigned short uint16; -typedef unsigned char uint8; +typedef unsigned __int32 uint32; +typedef unsigned __int16 uint16; +typedef unsigned __int8 uint8; #else #include #ifndef uint64_t +#ifdef __linux__ #include #endif +#endif typedef int64_t int64; -typedef long int32; -typedef short int16; -typedef char int8; +typedef int32_t int32; +typedef int16_t int16; +typedef int8_t int8; typedef uint64_t uint64; -typedef unsigned long uint32; -typedef unsigned short uint16; -typedef unsigned char uint8; +typedef uint32_t uint32; +typedef uint16_t uint16; +typedef uint8_t uint8; #endif #define FILE_FORMAT_VERSION 18 diff --git a/src/tools/vmap3_extractor/mpq_libmpq.cpp b/src/tools/vmap3_extractor/mpq_libmpq.cpp index 2d2014e9594..528b9679a58 100644 --- a/src/tools/vmap3_extractor/mpq_libmpq.cpp +++ b/src/tools/vmap3_extractor/mpq_libmpq.cpp @@ -50,7 +50,7 @@ MPQFile::MPQFile(const char* filename): { mpq_archive *mpq_a = (*i)->mpq_a; - uint32_t filenum; + uint32 filenum; if(libmpq__file_number(mpq_a, filename, &filenum)) continue; libmpq__off_t transferred; libmpq__file_unpacked_size(mpq_a, filenum, &size); diff --git a/src/tools/vmap3_extractor/mpq_libmpq04.h b/src/tools/vmap3_extractor/mpq_libmpq04.h index 26008f5fba1..ccbfe37cba7 100644 --- a/src/tools/vmap3_extractor/mpq_libmpq04.h +++ b/src/tools/vmap3_extractor/mpq_libmpq04.h @@ -24,7 +24,7 @@ public: void close(); void GetFileListTo(vector& filelist) { - uint32_t filenum; + uint32 filenum; if(libmpq__file_number(mpq_a, "(listfile)", &filenum)) return; libmpq__off_t size, transferred; libmpq__file_unpacked_size(mpq_a, filenum, &size); diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index b3da5065f96..83dd99d3a61 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -56,6 +56,7 @@ bool preciseVectorData = false; //static const char * szWorkDirMaps = ".\\Maps"; const char * szWorkDirWmo = "./Buildings"; + // Local testing functions static void clreol() @@ -103,7 +104,7 @@ void ReadLiquidTypeTableDBC() printf("Done! (%u LiqTypes loaded)\n", (unsigned int)LiqType_count); } -bool ExtractWmo() +int ExtractWmo() { char szLocalFile[1024] = ""; bool success=true; @@ -234,10 +235,10 @@ void ParsMapFiles() delete ADT; } } - printf("#"); - fflush(stdout); + printf("#"); + fflush(stdout); } - printf("]\n"); + printf("]\n"); } } } @@ -250,9 +251,8 @@ void getGamePath() LONG l; s = sizeof(input_path); memset(input_path,0,s); - l = RegOpenKeyExA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\World of Warcraft",0,KEY_QUERY_VALUE,&key); - //l = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\Burning Crusade Closed Beta",0,KEY_QUERY_VALUE,&key); - l = RegQueryValueExA(key,"InstallPath",0,&t,(LPBYTE)input_path,&s); + l = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\World of Warcraft",0,KEY_QUERY_VALUE,&key); + l = RegQueryValueEx(key,"InstallPath",0,&t,(LPBYTE)input_path,&s); RegCloseKey(key); if (strlen(input_path) > 0) { -- cgit v1.2.3 From 922000a5762e022d529f8374c3d74a37e57171db Mon Sep 17 00:00:00 2001 From: click Date: Tue, 22 Jun 2010 17:04:37 +0200 Subject: Fix vmap3extractor for windows again... (Silly Microsoft and their idiotic "let's make SURE others can't use something that would make their lives easier") http://msdn.microsoft.com/en-us/library/ms724897%28VS.85%29.aspx <--- the culprit (BLAAAAH!) --HG-- branch : trunk --- src/tools/vmap3_extractor/vmapexport.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index 83dd99d3a61..1d2079179fb 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -251,8 +251,8 @@ void getGamePath() LONG l; s = sizeof(input_path); memset(input_path,0,s); - l = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\World of Warcraft",0,KEY_QUERY_VALUE,&key); - l = RegQueryValueEx(key,"InstallPath",0,&t,(LPBYTE)input_path,&s); + l = RegOpenKeyExA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Blizzard Entertainment\\World of Warcraft",0,KEY_QUERY_VALUE,&key); + l = RegQueryValueExA(key,"InstallPath",0,&t,(LPBYTE)input_path,&s); RegCloseKey(key); if (strlen(input_path) > 0) { -- cgit v1.2.3 From 1daa1c09f9c03fdc99bafb14886160f13870e277 Mon Sep 17 00:00:00 2001 From: Brian Date: Tue, 22 Jun 2010 14:45:15 -0600 Subject: * Change Linux specific ifdef to POSIX compliant * Should allow the vmap extractor to build under OSX * Patch by imbecile --HG-- branch : trunk --- src/tools/vmap3_extractor/vmapexport.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index 1d2079179fb..913fd4f9e4a 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -461,7 +461,7 @@ int main(int argc, char ** argv) //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // Create the working directory if(mkdir(szWorkDirWmo -#ifdef __linux__ +#ifdef _XOPEN_UNIX , 0711 #endif )) -- cgit v1.2.3 From c3b7ce7b6937fd6d24e6285ab3a65969ecb71040 Mon Sep 17 00:00:00 2001 From: Brian Date: Tue, 22 Jun 2010 17:07:27 -0600 Subject: * Commented useless error message in the map extractor --HG-- branch : trunk --- src/tools/map_extractor/mpq_libmpq.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tools') diff --git a/src/tools/map_extractor/mpq_libmpq.cpp b/src/tools/map_extractor/mpq_libmpq.cpp index 72a9de460eb..81aa8cc2894 100644 --- a/src/tools/map_extractor/mpq_libmpq.cpp +++ b/src/tools/map_extractor/mpq_libmpq.cpp @@ -57,7 +57,7 @@ MPQFile::MPQFile(const char* filename): // HACK: in patch.mpq some files don't want to open and give 1 for filesize if (size<=1) { - printf("warning: file %s has size %d; cannot read.\n", filename, size); +// printf("warning: file %s has size %d; cannot read.\n", filename, size); eof = true; buffer = 0; return; -- cgit v1.2.3 From ffaffe3fd753b0afc75679c9730276871a9d034a Mon Sep 17 00:00:00 2001 From: Xanadu Date: Wed, 23 Jun 2010 01:47:41 +0200 Subject: * Renamed several VS projects and the executables they produce to reflect the new naming convention. * Cleaned up some useless and redundant preprocessor definitions. * Fixed the win build so that it correctly uses the mysql lib it built from the sources. * Note that you still need to use 8615_mysql_openssl_libs.zip for the OpenSSL binaries. * Also note that Win x64 build from the existing VS files is still fubar (mysql lib...). --HG-- branch : trunk --- externals/ace/win/VC90/ace.vcproj | 17 +- externals/bzip2/win/VC90/bzip2.vcproj | 22 +- externals/g3dlite/win/VC90/g3dlite.vcproj | 28 +- externals/libmpq/win/VC90/libmpq.vcproj | 20 +- externals/mysql/win/VC90/libmysql.vcproj | 937 +++++++++++---------- externals/sockets/win/VC90/sockets.vcproj | 20 +- externals/zlib/win/VC90/zlib.vcproj | 18 +- src/server/authserver/Main.cpp | 10 +- src/server/game/PrecompiledHeaders/ScriptPCH.h | 2 +- src/server/game/Scripting/ScriptLoader.cpp | 2 +- src/server/game/Spells/Spell.h | 4 +- src/server/shared/CompilerDefs.h | 2 +- src/server/shared/Database/Database.cpp | 2 +- src/server/shared/Database/Database.h | 2 +- src/server/shared/Database/QueryResult.h | 2 +- src/server/shared/Utilities/ServiceWin32.cpp | 2 +- src/server/shared/Utilities/ServiceWin32.h | 4 +- src/server/shared/Utilities/Util.cpp | 2 +- src/server/worldserver/Main.cpp | 6 +- src/server/worldserver/Master.cpp | 8 +- .../worldserver/WorldThread/WorldRunnable.cpp | 4 +- src/tools/ExtractorToolsVC90.sln | 54 +- src/tools/map_extractor/System.cpp | 4 +- src/tools/map_extractor/VC90/VC90_ad.vcproj | 265 ------ .../map_extractor/VC90/VC90_mapextractor.vcproj | 264 ++++++ src/tools/map_extractor/loadlib/loadlib.h | 2 +- .../VC90/VC90_vmap3assembler.vcproj | 247 ++++++ .../vmap3_assembler/VC90/vmap_assembler.vcproj | 244 ------ .../VC90/VC90_vmap3extractor.vcproj | 276 ++++++ .../vmap3_extractor/VC90/vmap3_extractor.vcproj | 271 ------ src/tools/vmap3_extractor/adtfile.cpp | 2 +- src/tools/vmap3_extractor/loadlib/loadlib.h | 2 +- src/tools/vmap3_extractor/mpq_libmpq04.h | 3 - src/tools/vmap3_extractor/vmapexport.cpp | 2 +- win/TrinityCore&Script VC90.sln | 69 +- win/VC90/TrinityCore.vcproj | 504 ----------- win/VC90/TrinityRealm.vcproj | 475 ----------- win/VC90/authserver.vcproj | 477 +++++++++++ win/VC90/game.vcproj | 32 +- win/VC90/genrevision.vcproj | 13 +- win/VC90/shared.vcproj | 42 +- win/VC90/worldserver.vcproj | 506 +++++++++++ 42 files changed, 2457 insertions(+), 2411 deletions(-) delete mode 100644 src/tools/map_extractor/VC90/VC90_ad.vcproj create mode 100644 src/tools/map_extractor/VC90/VC90_mapextractor.vcproj create mode 100644 src/tools/vmap3_assembler/VC90/VC90_vmap3assembler.vcproj delete mode 100644 src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj create mode 100644 src/tools/vmap3_extractor/VC90/VC90_vmap3extractor.vcproj delete mode 100644 src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj delete mode 100644 win/VC90/TrinityCore.vcproj delete mode 100644 win/VC90/TrinityRealm.vcproj create mode 100644 win/VC90/authserver.vcproj create mode 100644 win/VC90/worldserver.vcproj (limited to 'src/tools') diff --git a/externals/ace/win/VC90/ace.vcproj b/externals/ace/win/VC90/ace.vcproj index f54385fbd7a..39b0872d0a4 100644 --- a/externals/ace/win/VC90/ace.vcproj +++ b/externals/ace/win/VC90/ace.vcproj @@ -52,7 +52,7 @@ AdditionalOptions="/MP /wd 4748 /wd 4244" Optimization="0" AdditionalIncludeDirectories="..\..\..\;" - PreprocessorDefinitions="ACE_BUILD_DLL;_DEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + PreprocessorDefinitions="ACE_BUILD_DLL;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -143,7 +143,7 @@ AdditionalOptions="/MP /wd 4748 /wd 4244" Optimization="0" AdditionalIncludeDirectories="..\..\..\;" - PreprocessorDefinitions="ACE_BUILD_DLL;_DEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE" + PreprocessorDefinitions="ACE_BUILD_DLL;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -235,13 +235,14 @@ AdditionalOptions="/MP /wd 4748 /wd 4244" Optimization="2" AdditionalIncludeDirectories="..\..\..\;" - PreprocessorDefinitions="ACE_BUILD_DLL;NDEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SECURE_SCL=0" + PreprocessorDefinitions="ACE_BUILD_DLL;NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE" RuntimeLibrary="2" RuntimeTypeInfo="true" UsePrecompiledHeader="2" PrecompiledHeaderThrough="WinAcePCH.h" WarningLevel="3" Detect64BitPortabilityProblems="false" + DebugInformationFormat="3" DisableSpecificWarnings="4355" ForcedIncludeFiles="WinAcePCH.h" /> @@ -325,7 +326,7 @@ AdditionalOptions="/MP /wd 4748 /wd 4244" Optimization="2" AdditionalIncludeDirectories="..\..\..\;" - PreprocessorDefinitions="ACE_BUILD_DLL;NDEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_SECURE_SCL=0" + PreprocessorDefinitions="ACE_BUILD_DLL;NDEBUG;WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE" RuntimeLibrary="2" RuntimeTypeInfo="true" UsePrecompiledHeader="2" @@ -481,7 +482,7 @@ /> @@ -45,7 +45,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE" + PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -84,8 +84,8 @@ @@ -148,8 +148,8 @@ @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\;..\..\..\bzip2;..\..\..\zlib" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB" + PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" @@ -49,6 +49,7 @@ WarningLevel="3" DebugInformationFormat="3" CompileAs="1" + DisableSpecificWarnings="4103;4244;4018" /> @@ -437,7 +446,7 @@ /> ]\n" " -c config_file use config_file as configuration file\n\r" - #ifdef WIN32 + #ifdef _WIN32 " Running as service functions:\n\r" " --service run as service\n\r" " -s install install service\n\r" @@ -122,7 +122,7 @@ extern int main(int argc, char **argv) cfg_file = argv[c]; } - #ifdef WIN32 + #ifdef _WIN32 //////////// //Services// //////////// @@ -243,7 +243,7 @@ extern int main(int argc, char **argv) #endif /* _WIN32 */(); ///- Handle affinity for multiple processors and process priority on Windows - #ifdef WIN32 + #ifdef _WIN32 { HANDLE hProcess = GetCurrentProcess(); @@ -315,7 +315,7 @@ extern int main(int argc, char **argv) sLog.outDetail("Ping MySQL to keep connection alive"); LoginDatabase.Query("SELECT 1 FROM realmlist LIMIT 1"); } -#ifdef WIN32 +#ifdef _WIN32 if (m_ServiceStatus == 0) stopEvent = true; while (m_ServiceStatus == 2) Sleep(1000); #endif diff --git a/src/server/game/PrecompiledHeaders/ScriptPCH.h b/src/server/game/PrecompiledHeaders/ScriptPCH.h index 1e83a88b87a..f8515e99f89 100644 --- a/src/server/game/PrecompiledHeaders/ScriptPCH.h +++ b/src/server/game/PrecompiledHeaders/ScriptPCH.h @@ -23,7 +23,7 @@ #include "DBCStores.h" #include "ObjectMgr.h" -#ifdef WIN32 +#ifdef _WIN32 #include #endif diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index 37af3c50691..7bdf7eb6e4e 100644 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -16,7 +16,7 @@ #include "ScriptPCH.h" -#ifdef WIN32 +#ifdef _WIN32 #define DO_SCRIPTS #endif diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index a987e35e65d..372c668d2de 100644 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -769,14 +769,14 @@ namespace Trinity } } - #ifdef WIN32 + #ifdef _WIN32 template<> inline void Visit(CorpseMapType &) {} template<> inline void Visit(GameObjectMapType &) {} template<> inline void Visit(DynamicObjectMapType &) {} #endif }; - #ifndef WIN32 + #ifndef _WIN32 template<> inline void SpellNotifierCreatureAndPlayer::Visit(CorpseMapType&) {} template<> inline void SpellNotifierCreatureAndPlayer::Visit(GameObjectMapType&) {} template<> inline void SpellNotifierCreatureAndPlayer::Visit(DynamicObjectMapType&) {} diff --git a/src/server/shared/CompilerDefs.h b/src/server/shared/CompilerDefs.h index fb7dbfe4caa..d2d470e2097 100644 --- a/src/server/shared/CompilerDefs.h +++ b/src/server/shared/CompilerDefs.h @@ -26,7 +26,7 @@ #define PLATFORM_APPLE 2 #define PLATFORM_INTEL 3 -// must be first (win 64 also define WIN32) +// must be first (win 64 also define _WIN32) #if defined( _WIN64 ) # define PLATFORM PLATFORM_WINDOWS #elif defined( __WIN32__ ) || defined( WIN32 ) || defined( _WIN32 ) diff --git a/src/server/shared/Database/Database.cpp b/src/server/shared/Database/Database.cpp index 91275716bf8..2dd2f9bbda4 100644 --- a/src/server/shared/Database/Database.cpp +++ b/src/server/shared/Database/Database.cpp @@ -113,7 +113,7 @@ bool Database::Initialize(const char *infoString) database = *iter++; mysql_options(mysqlInit, MYSQL_SET_CHARSET_NAME, "utf8"); - #ifdef WIN32 + #ifdef _WIN32 if (host==".") // named pipe use option (Windows) { unsigned int opt = MYSQL_PROTOCOL_PIPE; diff --git a/src/server/shared/Database/Database.h b/src/server/shared/Database/Database.h index 96588adbf10..655479c85fe 100644 --- a/src/server/shared/Database/Database.h +++ b/src/server/shared/Database/Database.h @@ -28,7 +28,7 @@ #include "ace/Thread_Mutex.h" #include "ace/Guard_T.h" -#ifdef WIN32 +#ifdef _WIN32 #define FD_SETSIZE 1024 #include #include diff --git a/src/server/shared/Database/QueryResult.h b/src/server/shared/Database/QueryResult.h index 4eec9915362..5562a9abfa4 100644 --- a/src/server/shared/Database/QueryResult.h +++ b/src/server/shared/Database/QueryResult.h @@ -26,7 +26,7 @@ #include "Field.h" -#ifdef WIN32 +#ifdef _WIN32 #define FD_SETSIZE 1024 #include #include diff --git a/src/server/shared/Utilities/ServiceWin32.cpp b/src/server/shared/Utilities/ServiceWin32.cpp index 513dd64b505..a50a4f9d039 100644 --- a/src/server/shared/Utilities/ServiceWin32.cpp +++ b/src/server/shared/Utilities/ServiceWin32.cpp @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifdef WIN32 +#ifdef _WIN32 #include "Common.h" #include "Log.h" diff --git a/src/server/shared/Utilities/ServiceWin32.h b/src/server/shared/Utilities/ServiceWin32.h index ddac785a0fb..4dbd329a5fa 100644 --- a/src/server/shared/Utilities/ServiceWin32.h +++ b/src/server/shared/Utilities/ServiceWin32.h @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifdef WIN32 +#ifdef _WIN32 #ifndef _WIN32_SERVICE_ #define _WIN32_SERVICE_ @@ -27,5 +27,5 @@ bool WinServiceUninstall(); bool WinServiceRun(); #endif // _WIN32_SERVICE_ -#endif // WIN32 +#endif // _WIN32 diff --git a/src/server/shared/Utilities/Util.cpp b/src/server/shared/Utilities/Util.cpp index 14c0431c967..97dfde6c92b 100644 --- a/src/server/shared/Utilities/Util.cpp +++ b/src/server/shared/Utilities/Util.cpp @@ -195,7 +195,7 @@ uint32 CreatePIDFile(const std::string& filename) if (pid_file == NULL) return 0; -#ifdef WIN32 +#ifdef _WIN32 DWORD pid = GetCurrentProcessId(); #else pid_t pid = getpid(); diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp index 25c0b4be762..5166ca741df 100644 --- a/src/server/worldserver/Main.cpp +++ b/src/server/worldserver/Main.cpp @@ -37,7 +37,7 @@ # define _TRINITY_CORE_CONFIG "worldserver.conf" #endif //_TRINITY_CORE_CONFIG -#ifdef WIN32 +#ifdef _WIN32 #include "ServiceWin32.h" char serviceName[] = "TrinityCore"; char serviceLongName[] = "Trinity core service"; @@ -62,7 +62,7 @@ void usage(const char *prog) { sLog.outString("Usage: \n %s []\n" " -c config_file use config_file as configuration file\n\r" - #ifdef WIN32 + #ifdef _WIN32 " Running as service functions:\n\r" " --service run as service\n\r" " -s install install service\n\r" @@ -91,7 +91,7 @@ extern int main(int argc, char **argv) cfg_file = argv[c]; } - #ifdef WIN32 + #ifdef _WIN32 //////////// //Services// //////////// diff --git a/src/server/worldserver/Master.cpp b/src/server/worldserver/Master.cpp index 98a28093199..332a607dcad 100644 --- a/src/server/worldserver/Master.cpp +++ b/src/server/worldserver/Master.cpp @@ -50,7 +50,7 @@ #include "ListenSocket.h" #include "BigNumber.h" -#ifdef WIN32 +#ifdef _WIN32 #include "ServiceWin32.h" extern int m_ServiceStatus; #endif @@ -285,7 +285,7 @@ int Master::Run() ACE_Based::Thread* cliThread = NULL; -#ifdef WIN32 +#ifdef _WIN32 if (sConfig.GetBoolDefault("Console.Enable", true) && (m_ServiceStatus == -1)/* need disable console in service mode*/) #else if (sConfig.GetBoolDefault("Console.Enable", true)) @@ -298,7 +298,7 @@ int Master::Run() ACE_Based::Thread rar_thread(new RARunnable); ///- Handle affinity for multiple processors and process priority on Windows - #ifdef WIN32 + #ifdef _WIN32 { HANDLE hProcess = GetCurrentProcess(); @@ -386,7 +386,7 @@ int Master::Run() if (cliThread) { - #ifdef WIN32 + #ifdef _WIN32 // this only way to terminate CLI thread exist at Win32 (alt. way exist only in Windows Vista API) //_exit(1); diff --git a/src/server/worldserver/WorldThread/WorldRunnable.cpp b/src/server/worldserver/WorldThread/WorldRunnable.cpp index c674ddbc06f..3531873ec0c 100644 --- a/src/server/worldserver/WorldThread/WorldRunnable.cpp +++ b/src/server/worldserver/WorldThread/WorldRunnable.cpp @@ -35,7 +35,7 @@ #define WORLD_SLEEP_CONST 50 -#ifdef WIN32 +#ifdef _WIN32 #include "ServiceWin32.h" extern int m_ServiceStatus; #endif @@ -76,7 +76,7 @@ void WorldRunnable::run() else prevSleepTime = 0; - #ifdef WIN32 + #ifdef _WIN32 if (m_ServiceStatus == 0) World::StopNow(SHUTDOWN_EXIT_CODE); while (m_ServiceStatus == 2) Sleep(1000); #endif diff --git a/src/tools/ExtractorToolsVC90.sln b/src/tools/ExtractorToolsVC90.sln index 5887925dcf1..7881797979a 100644 --- a/src/tools/ExtractorToolsVC90.sln +++ b/src/tools/ExtractorToolsVC90.sln @@ -1,21 +1,6 @@ п»ї Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ad", "map_extractor\VC90\VC90_ad.vcproj", "{D7552D4F-408F-4F8E-859B-366659150CF4}" - ProjectSection(ProjectDependencies) = postProject - {03AB0F44-628E-4855-99A0-C98A1EB52C50} = {03AB0F44-628E-4855-99A0-C98A1EB52C50} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap_assembler", "vmap3_assembler\VC90\vmap_assembler.vcproj", "{572FFF74-480C-4472-8ABF-81733BB4049D}" - ProjectSection(ProjectDependencies) = postProject - {8072769E-CF10-48BF-B9E1-12752A5DAC6E} = {8072769E-CF10-48BF-B9E1-12752A5DAC6E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap3_extractor", "vmap3_extractor\VC90\vmap3_extractor.vcproj", "{502602CC-98EA-4335-B922-C5C1DBF37604}" - ProjectSection(ProjectDependencies) = postProject - {03AB0F44-628E-4855-99A0-C98A1EB52C50} = {03AB0F44-628E-4855-99A0-C98A1EB52C50} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmpq", "..\..\externals\libmpq\win\VC90\libmpq.vcproj", "{03AB0F44-628E-4855-99A0-C98A1EB52C50}" ProjectSection(ProjectDependencies) = postProject {CE773400-763E-4B71-B5E2-C9B60A752EB1} = {CE773400-763E-4B71-B5E2-C9B60A752EB1} @@ -33,24 +18,27 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "g3dlite", "..\..\externals\ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dependencies", "Dependencies", "{69F789A6-BD04-454A-AC8E-A57AAE7FCF77}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapextractor", "map_extractor\VC90\VC90_mapextractor.vcproj", "{D7552D4F-408F-4F8E-859B-366659150CF4}" + ProjectSection(ProjectDependencies) = postProject + {03AB0F44-628E-4855-99A0-C98A1EB52C50} = {03AB0F44-628E-4855-99A0-C98A1EB52C50} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap3assembler", "vmap3_assembler\VC90\VC90_vmap3assembler.vcproj", "{572FFF74-480C-4472-8ABF-81733BB4049D}" + ProjectSection(ProjectDependencies) = postProject + {8072769E-CF10-48BF-B9E1-12752A5DAC6E} = {8072769E-CF10-48BF-B9E1-12752A5DAC6E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vmap3extractor", "vmap3_extractor\VC90\VC90_vmap3extractor.vcproj", "{502602CC-98EA-4335-B922-C5C1DBF37604}" + ProjectSection(ProjectDependencies) = postProject + {03AB0F44-628E-4855-99A0-C98A1EB52C50} = {03AB0F44-628E-4855-99A0-C98A1EB52C50} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.ActiveCfg = Debug|Win32 - {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.Build.0 = Debug|Win32 - {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.ActiveCfg = Release|Win32 - {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.Build.0 = Release|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.ActiveCfg = Debug|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.Build.0 = Debug|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.ActiveCfg = Release|Win32 - {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.Build.0 = Release|Win32 - {502602CC-98EA-4335-B922-C5C1DBF37604}.Debug|Win32.ActiveCfg = Debug|Win32 - {502602CC-98EA-4335-B922-C5C1DBF37604}.Debug|Win32.Build.0 = Debug|Win32 - {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.ActiveCfg = Release|Win32 - {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.Build.0 = Release|Win32 {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Debug|Win32.ActiveCfg = Debug|Win32 {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Debug|Win32.Build.0 = Debug|Win32 {03AB0F44-628E-4855-99A0-C98A1EB52C50}.Release|Win32.ActiveCfg = Release|Win32 @@ -67,6 +55,18 @@ Global {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Debug|Win32.Build.0 = Debug|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.ActiveCfg = Release|Win32 {8072769E-CF10-48BF-B9E1-12752A5DAC6E}.Release|Win32.Build.0 = Release|Win32 + {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.ActiveCfg = Debug|Win32 + {D7552D4F-408F-4F8E-859B-366659150CF4}.Debug|Win32.Build.0 = Debug|Win32 + {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.ActiveCfg = Release|Win32 + {D7552D4F-408F-4F8E-859B-366659150CF4}.Release|Win32.Build.0 = Release|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.ActiveCfg = Debug|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Debug|Win32.Build.0 = Debug|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.ActiveCfg = Release|Win32 + {572FFF74-480C-4472-8ABF-81733BB4049D}.Release|Win32.Build.0 = Release|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Debug|Win32.ActiveCfg = Debug|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Debug|Win32.Build.0 = Debug|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.ActiveCfg = Release|Win32 + {502602CC-98EA-4335-B922-C5C1DBF37604}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index 6abe2364cd6..3a328e91bf4 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -5,7 +5,7 @@ #include #include -#ifdef WIN32 +#ifdef _WIN32 #include "direct.h" #else #include @@ -88,7 +88,7 @@ static char* const langs[] = {"enGB", "enUS", "deDE", "esES", "frFR", "koKR", "z void CreateDir( const std::string& Path ) { - #ifdef WIN32 + #ifdef _WIN32 _mkdir( Path.c_str()); #else mkdir( Path.c_str(), 0777 ); diff --git a/src/tools/map_extractor/VC90/VC90_ad.vcproj b/src/tools/map_extractor/VC90/VC90_ad.vcproj deleted file mode 100644 index e875137556c..00000000000 --- a/src/tools/map_extractor/VC90/VC90_ad.vcproj +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/tools/map_extractor/VC90/VC90_mapextractor.vcproj b/src/tools/map_extractor/VC90/VC90_mapextractor.vcproj new file mode 100644 index 00000000000..c943d93d84e --- /dev/null +++ b/src/tools/map_extractor/VC90/VC90_mapextractor.vcproj @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tools/map_extractor/loadlib/loadlib.h b/src/tools/map_extractor/loadlib/loadlib.h index 6acfd107ec7..48fe794f8dc 100644 --- a/src/tools/map_extractor/loadlib/loadlib.h +++ b/src/tools/map_extractor/loadlib/loadlib.h @@ -1,7 +1,7 @@ #ifndef LOAD_LIB_H #define LOAD_LIB_H -#ifdef WIN32 +#ifdef _WIN32 typedef __int64 int64; typedef long int32; typedef short int16; diff --git a/src/tools/vmap3_assembler/VC90/VC90_vmap3assembler.vcproj b/src/tools/vmap3_assembler/VC90/VC90_vmap3assembler.vcproj new file mode 100644 index 00000000000..1f3376e71b7 --- /dev/null +++ b/src/tools/vmap3_assembler/VC90/VC90_vmap3assembler.vcproj @@ -0,0 +1,247 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj b/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj deleted file mode 100644 index 63a99dfa421..00000000000 --- a/src/tools/vmap3_assembler/VC90/vmap_assembler.vcproj +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/tools/vmap3_extractor/VC90/VC90_vmap3extractor.vcproj b/src/tools/vmap3_extractor/VC90/VC90_vmap3extractor.vcproj new file mode 100644 index 00000000000..3dd343f3845 --- /dev/null +++ b/src/tools/vmap3_extractor/VC90/VC90_vmap3extractor.vcproj @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj b/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj deleted file mode 100644 index 34665937c9a..00000000000 --- a/src/tools/vmap3_extractor/VC90/vmap3_extractor.vcproj +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/tools/vmap3_extractor/adtfile.cpp b/src/tools/vmap3_extractor/adtfile.cpp index 314255d3a58..58c1bb94b1c 100644 --- a/src/tools/vmap3_extractor/adtfile.cpp +++ b/src/tools/vmap3_extractor/adtfile.cpp @@ -4,7 +4,7 @@ #include #include -#ifdef WIN32 +#ifdef _WIN32 #define snprintf _snprintf #endif diff --git a/src/tools/vmap3_extractor/loadlib/loadlib.h b/src/tools/vmap3_extractor/loadlib/loadlib.h index 53731753425..49d5f590744 100644 --- a/src/tools/vmap3_extractor/loadlib/loadlib.h +++ b/src/tools/vmap3_extractor/loadlib/loadlib.h @@ -1,7 +1,7 @@ #ifndef LOAD_LIB_H #define LOAD_LIB_H -#ifdef WIN32 +#ifdef _WIN32 typedef __int64 int64; typedef __int32 int32; typedef __int16 int16; diff --git a/src/tools/vmap3_extractor/mpq_libmpq04.h b/src/tools/vmap3_extractor/mpq_libmpq04.h index ccbfe37cba7..4fe80f2759c 100644 --- a/src/tools/vmap3_extractor/mpq_libmpq04.h +++ b/src/tools/vmap3_extractor/mpq_libmpq04.h @@ -1,6 +1,3 @@ -#define _CRT_SECURE_NO_DEPRECATE -#define _CRT_SECURE_NO_WARNINGS - #ifndef MPQ_H #define MPQ_H diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index 913fd4f9e4a..82e9bd7cc7b 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -5,7 +5,7 @@ #include #include -#ifdef WIN32 +#ifdef _WIN32 #include #include #include diff --git a/win/TrinityCore&Script VC90.sln b/win/TrinityCore&Script VC90.sln index 617480e588d..1d611835132 100644 --- a/win/TrinityCore&Script VC90.sln +++ b/win/TrinityCore&Script VC90.sln @@ -15,16 +15,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared", "VC90\shared.vcpro {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5} = {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TrinityCore", "VC90\TrinityCore.vcproj", "{A3A04E47-43A2-4C08-90B3-029CEF558594}" - ProjectSection(ProjectDependencies) = postProject - {1DC6C4DA-A028-41F3-877D-D5400C594F88} = {1DC6C4DA-A028-41F3-877D-D5400C594F88} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TrinityRealm", "VC90\TrinityRealm.vcproj", "{563E9905-3657-460C-AE63-0AC39D162E23}" - ProjectSection(ProjectDependencies) = postProject - {90297C34-F231-4DF4-848E-A74BCC0E40ED} = {90297C34-F231-4DF4-848E-A74BCC0E40ED} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genrevision", "VC90\genrevision.vcproj", "{803F488E-4C5A-4866-8D5C-1E6C03C007C2}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ACE_Wrappers", "..\externals\ace\win\VC90\ace.vcproj", "{BD537C9A-FECA-1BAD-6757-8A6348EA12C8}" @@ -36,6 +26,21 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sockets", "..\externals\sockets\win\VC90\sockets.vcproj", "{9DF7A84E-C644-4720-A79D-C98CB950E34C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmysql", "..\externals\mysql\win\VC90\libmysql.vcproj", "{4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}" + ProjectSection(ProjectDependencies) = postProject + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{FAC6B1DA-4242-4891-81CB-F366A8FC655F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "authserver", "VC90\authserver.vcproj", "{563E9905-3657-460C-AE63-0AC39D162E23}" + ProjectSection(ProjectDependencies) = postProject + {90297C34-F231-4DF4-848E-A74BCC0E40ED} = {90297C34-F231-4DF4-848E-A74BCC0E40ED} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "worldserver", "VC90\worldserver.vcproj", "{A3A04E47-43A2-4C08-90B3-029CEF558594}" + ProjectSection(ProjectDependencies) = postProject + {1DC6C4DA-A028-41F3-877D-D5400C594F88} = {1DC6C4DA-A028-41F3-877D-D5400C594F88} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -61,22 +66,6 @@ Global {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|Win32.Build.0 = Release|Win32 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|x64.ActiveCfg = Release|x64 {90297C34-F231-4DF4-848E-A74BCC0E40ED}.Release|x64.Build.0 = Release|x64 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|Win32.ActiveCfg = Debug|Win32 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|Win32.Build.0 = Debug|Win32 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.ActiveCfg = Debug|x64 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.Build.0 = Debug|x64 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|Win32.ActiveCfg = Release|Win32 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|Win32.Build.0 = Release|Win32 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.ActiveCfg = Release|x64 - {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.Build.0 = Release|x64 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|Win32.ActiveCfg = Debug|Win32 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|Win32.Build.0 = Debug|Win32 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.ActiveCfg = Debug|x64 - {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.Build.0 = Debug|x64 - {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.ActiveCfg = Release|Win32 - {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.Build.0 = Release|Win32 - {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.ActiveCfg = Release|x64 - {563E9905-3657-460C-AE63-0AC39D162E23}.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 @@ -119,14 +108,38 @@ Global {9DF7A84E-C644-4720-A79D-C98CB950E34C}.Release|x64.Build.0 = Release|x64 {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Debug|Win32.ActiveCfg = Debug|Win32 {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Debug|Win32.Build.0 = Debug|Win32 - {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Debug|x64.ActiveCfg = Debug|Win32 + {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Debug|x64.ActiveCfg = Debug|x64 + {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Debug|x64.Build.0 = Debug|x64 {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Release|Win32.ActiveCfg = Release|Win32 {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Release|Win32.Build.0 = Release|Win32 - {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Release|x64.ActiveCfg = Release|Win32 + {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Release|x64.ActiveCfg = Release|x64 + {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5}.Release|x64.Build.0 = Release|x64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|Win32.ActiveCfg = Debug|Win32 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|Win32.Build.0 = Debug|Win32 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.ActiveCfg = Debug|x64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Debug|x64.Build.0 = Debug|x64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.ActiveCfg = Release|Win32 + {563E9905-3657-460C-AE63-0AC39D162E23}.Release|Win32.Build.0 = Release|Win32 + {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.ActiveCfg = Release|x64 + {563E9905-3657-460C-AE63-0AC39D162E23}.Release|x64.Build.0 = Release|x64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|Win32.ActiveCfg = Debug|Win32 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|Win32.Build.0 = Debug|Win32 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.ActiveCfg = Debug|x64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Debug|x64.Build.0 = Debug|x64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|Win32.ActiveCfg = Release|Win32 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|Win32.Build.0 = Release|Win32 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.ActiveCfg = Release|x64 + {A3A04E47-43A2-4C08-90B3-029CEF558594}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {8F1DEA42-6A5B-4B62-839D-C141A7BFACF2} = {FAC6B1DA-4242-4891-81CB-F366A8FC655F} + {8072769E-CF10-48BF-B9E1-12752A5DAC6E} = {FAC6B1DA-4242-4891-81CB-F366A8FC655F} + {4FBE4FC1-22DE-41A0-9AEB-CFD00EBAC7E5} = {FAC6B1DA-4242-4891-81CB-F366A8FC655F} + {BD537C9A-FECA-1BAD-6757-8A6348EA12C8} = {FAC6B1DA-4242-4891-81CB-F366A8FC655F} + EndGlobalSection GlobalSection(DPCodeReviewSolutionGUID) = preSolution DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} EndGlobalSection diff --git a/win/VC90/TrinityCore.vcproj b/win/VC90/TrinityCore.vcproj deleted file mode 100644 index ef2b76ae774..00000000000 --- a/win/VC90/TrinityCore.vcproj +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/VC90/TrinityRealm.vcproj b/win/VC90/TrinityRealm.vcproj deleted file mode 100644 index 68927fbc4ab..00000000000 --- a/win/VC90/TrinityRealm.vcproj +++ /dev/null @@ -1,475 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/win/VC90/authserver.vcproj b/win/VC90/authserver.vcproj new file mode 100644 index 00000000000..af3b474ff69 --- /dev/null +++ b/win/VC90/authserver.vcproj @@ -0,0 +1,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win/VC90/game.vcproj b/win/VC90/game.vcproj index 862ad8a579b..aed9f2ff179 100644 --- a/win/VC90/game.vcproj +++ b/win/VC90/game.vcproj @@ -49,19 +49,20 @@ AdditionalOptions="/MP /Zm200" Optimization="0" AdditionalIncludeDirectories="..\..\externals;..\..\externals\g3dlite;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\collision\Maps;..\..\src\server\collision\Models;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World" - PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" + PreprocessorDefinitions="WIN32;TRINITY_DEBUG;_CRT_SECURE_NO_WARNINGS" StringPooling="false" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" EnableFunctionLevelLinking="true" + EnableEnhancedInstructionSet="0" RuntimeTypeInfo="true" UsePrecompiledHeader="2" PrecompiledHeaderThrough="WinCorePCH.h" PrecompiledHeaderFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\$(ProjectName).pch" - AssemblerListingLocation=".\game__$(PlatformName)_$(ConfigurationName)\" - ObjectFile=".\game__$(PlatformName)_$(ConfigurationName)\" - ProgramDataBaseFileName=".\game__$(PlatformName)_$(ConfigurationName)\" + AssemblerListingLocation="" + ObjectFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" + ProgramDataBaseFileName=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" WarningLevel="3" SuppressStartupBanner="true" Detect64BitPortabilityProblems="false" @@ -135,19 +136,20 @@ AdditionalOptions="/MP /bigobj /Zm200" Optimization="0" AdditionalIncludeDirectories="..\..\externals;..\..\externals\g3dlite;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\collision\Maps;..\..\src\server\collision\Models;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World" - PreprocessorDefinitions="WIN32;_DEBUG;TRINITY_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS" + PreprocessorDefinitions="WIN32;TRINITY_DEBUG;_CRT_SECURE_NO_WARNINGS" StringPooling="false" MinimalRebuild="false" BasicRuntimeChecks="3" RuntimeLibrary="3" EnableFunctionLevelLinking="true" + EnableEnhancedInstructionSet="0" RuntimeTypeInfo="true" UsePrecompiledHeader="2" PrecompiledHeaderThrough="WinCorePCH.h" PrecompiledHeaderFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\$(ProjectName).pch" - AssemblerListingLocation=".\game__$(PlatformName)_$(ConfigurationName)\" - ObjectFile=".\game__$(PlatformName)_$(ConfigurationName)\" - ProgramDataBaseFileName=".\game__$(PlatformName)_$(ConfigurationName)\" + AssemblerListingLocation="" + ObjectFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" + ProgramDataBaseFileName=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" WarningLevel="3" SuppressStartupBanner="true" Detect64BitPortabilityProblems="false" @@ -218,7 +220,7 @@ AdditionalOptions="/MP /Zm200" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\externals;..\..\externals\g3dlite;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\collision\Maps;..\..\src\server\collision\Models;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -228,8 +230,8 @@ PrecompiledHeaderThrough="WinCorePCH.h" PrecompiledHeaderFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\$(ProjectName).pch" AssemblerListingLocation="" - ObjectFile=".\game__$(PlatformName)_$(ConfigurationName)\" - ProgramDataBaseFileName=".\game__$(PlatformName)_$(ConfigurationName)\" + ObjectFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" + ProgramDataBaseFileName=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" WarningLevel="3" SuppressStartupBanner="true" Detect64BitPortabilityProblems="false" @@ -301,7 +303,7 @@ AdditionalOptions="/MP /bigobj /Zm200" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\externals;..\..\externals\g3dlite;..\..\externals\mersennetwister;..\..\externals\zlib;..\..\src\server\collision;..\..\src\server\collision\Management;..\..\src\server\collision\Maps;..\..\src\server\collision\Models;..\..\src\server\shared;..\..\src\server\shared\Configuration;..\..\src\server\shared\Cryptography;..\..\src\server\shared\Cryptography\Authentication;..\..\src\server\shared\Database;..\..\src\server\shared\DataStores;..\..\src\server\shared\Debugging;..\..\src\server\shared\Dynamic\CountedReference;..\..\src\server\shared\Dynamic\LinkedReference;..\..\src\server\shared\Dynamic;..\..\src\server\shared\Logging;..\..\src\server\shared\Packets;..\..\src\server\shared\Policies;..\..\src\server\shared\Threading;..\..\src\server\shared\Utilities;..\..\src\server\game;..\..\src\server\game\Accounts;..\..\src\server\game\Achievements;..\..\src\server\game\Addons;..\..\src\server\game\AI;..\..\src\server\game\AI\CoreAI;..\..\src\server\game\AI\EventAI;..\..\src\server\game\AI\ScriptedAI;..\..\src\server\game\AuctionHouse;..\..\src\server\game\AuctionHouse\AuctionHouseBot;..\..\src\server\game\BattleGrounds;..\..\src\server\game\BattleGrounds\Zones;..\..\src\server\game\Calendar;..\..\src\server\game\Chat;..\..\src\server\game\Chat\Channels;..\..\src\server\game\Chat\Commands;..\..\src\server\game\Combat;..\..\src\server\game\Conditions;..\..\src\server\game\DataStores;..\..\src\server\game\DungeonFinding;..\..\src\server\game\Entities;..\..\src\server\game\Entities\Creature;..\..\src\server\game\Entities\Corpse;..\..\src\server\game\Entities\DynamicObject;..\..\src\server\game\Entities\GameObject;..\..\src\server\game\Entities\Item;..\..\src\server\game\Entities\Item\Container;..\..\src\server\game\Entities\Object;..\..\src\server\game\Entities\Object\Updates;..\..\src\server\game\Entities\Pet;..\..\src\server\game\Entities\Player;..\..\src\server\game\Entities\Totem;..\..\src\server\game\Entities\Unit;..\..\src\server\game\Entities\Vehicle;..\..\src\server\game\Entities\Transport;..\..\src\server\game\Events;..\..\src\server\game\Globals;..\..\src\server\game\Grids\Cells;..\..\src\server\game\Grids\Notifiers;..\..\src\server\game\Grids;..\..\src\server\game\Groups;..\..\src\server\game\Guilds;..\..\src\server\game\Instances;..\..\src\server\game\Loot;..\..\src\server\game\Mails;..\..\src\server\game\Maps;..\..\src\server\game\Miscellaneous;..\..\src\server\game\Movement;..\..\src\server\game\Movement\MovementGenerators;..\..\src\server\game\Movement\Waypoints;..\..\src\server\game\OutdoorPvP;..\..\src\server\game\OutdoorPvP\Zones;..\..\src\server\game\Pools;..\..\src\server\game\PrecompiledHeaders;..\..\src\server\game\Quests;..\..\src\server\game\Reputation;..\..\src\server\game\Scripting;..\..\src\server\game\Server;..\..\src\server\game\Server\Protocol;..\..\src\server\game\Server\Protocol\Handlers;..\..\src\server\game\Skills;..\..\src\server\game\Spells;..\..\src\server\game\Spells\Auras;..\..\src\server\game\Tools;..\..\src\server\game\Weather;..\..\src\server\game\World" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS" + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE" StringPooling="true" RuntimeLibrary="2" EnableFunctionLevelLinking="true" @@ -310,9 +312,9 @@ UsePrecompiledHeader="2" PrecompiledHeaderThrough="WinCorePCH.h" PrecompiledHeaderFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\$(ProjectName).pch" - AssemblerListingLocation=".\game__$(PlatformName)_$(ConfigurationName)\" - ObjectFile=".\game__$(PlatformName)_$(ConfigurationName)\" - ProgramDataBaseFileName=".\game__$(PlatformName)_$(ConfigurationName)\" + AssemblerListingLocation="" + ObjectFile=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" + ProgramDataBaseFileName=".\$(ProjectName)__$(PlatformName)_$(ConfigurationName)\" WarningLevel="3" SuppressStartupBanner="true" Detect64BitPortabilityProblems="false" diff --git a/win/VC90/genrevision.vcproj b/win/VC90/genrevision.vcproj index 13eda318a32..662a3e9a9e2 100644 --- a/win/VC90/genrevision.vcproj +++ b/win/VC90/genrevision.vcproj @@ -44,11 +44,11 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From 7bf807aee4603896cfc15adc85944654a1ea81c8 Mon Sep 17 00:00:00 2001 From: click Date: Wed, 23 Jun 2010 10:16:40 +0200 Subject: Kill off the issues with the map/dbcextractors - and a thanks to imbecile@lavabit for the comment about loadlib.h Just now the intent was to get it sorted out, as we might merge the tools into one "datatool" for all of this stuff. --HG-- branch : trunk rename : src/tools/map_extractor/loadlib/adt.cpp => src/tools/map_extractor/adt.cpp rename : src/tools/map_extractor/loadlib/adt.h => src/tools/map_extractor/adt.h rename : src/tools/map_extractor/loadlib/loadlib.cpp => src/tools/map_extractor/loadlib.cpp rename : src/tools/map_extractor/loadlib/wdt.cpp => src/tools/map_extractor/wdt.cpp rename : src/tools/map_extractor/loadlib/wdt.h => src/tools/map_extractor/wdt.h --- src/tools/map_extractor/CMakeLists.txt | 38 +--- src/tools/map_extractor/System.cpp | 4 +- src/tools/map_extractor/adt.cpp | 131 +++++++++++++ src/tools/map_extractor/adt.h | 289 ++++++++++++++++++++++++++++ src/tools/map_extractor/loadlib.cpp | 65 +++++++ src/tools/map_extractor/loadlib/adt.cpp | 131 ------------- src/tools/map_extractor/loadlib/adt.h | 289 ---------------------------- src/tools/map_extractor/loadlib/loadlib.cpp | 65 ------- src/tools/map_extractor/loadlib/loadlib.h | 26 +-- src/tools/map_extractor/loadlib/wdt.cpp | 62 ------ src/tools/map_extractor/loadlib/wdt.h | 68 ------- src/tools/map_extractor/wdt.cpp | 62 ++++++ src/tools/map_extractor/wdt.h | 68 +++++++ 13 files changed, 634 insertions(+), 664 deletions(-) mode change 100644 => 100755 src/tools/map_extractor/System.cpp create mode 100644 src/tools/map_extractor/adt.cpp create mode 100644 src/tools/map_extractor/adt.h create mode 100644 src/tools/map_extractor/loadlib.cpp delete mode 100644 src/tools/map_extractor/loadlib/adt.cpp delete mode 100644 src/tools/map_extractor/loadlib/adt.h delete mode 100644 src/tools/map_extractor/loadlib/loadlib.cpp delete mode 100644 src/tools/map_extractor/loadlib/wdt.cpp delete mode 100644 src/tools/map_extractor/loadlib/wdt.h create mode 100644 src/tools/map_extractor/wdt.cpp create mode 100644 src/tools/map_extractor/wdt.h (limited to 'src/tools') diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index ce5e54ac4f0..a18ee7cd517 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -10,41 +10,11 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. file(GLOB sources *.cpp) -file(GLOB loadlib_sources loadlib/*.cpp) include_directories ( ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/externals/libmpq ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/loadlib -) - -link_directories( - ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq - ${CMAKE_CURRENT_SOURCE_DIR}}/loadlib -) - -add_library(loadlib - ${loadlib_sources} -) - -if(NOT UNIX) - target_link_libraries(loadlib - zlib - ) -else() - target_link_libraries(loadlib - ${ZLIB_LIBRARIES} - ) -endif() - -add_library(libmpq - ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/common.c - ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/explode.c - ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/extract.c - ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/huffman.c - ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/mpq.c - ${CMAKE_SOURCE_DIR}/externals/libmpq/libmpq/wave.c + ${CMAKE_CURRENT_SOURCE_DIR}/loadlib ) add_executable(mapextractor @@ -53,14 +23,12 @@ add_executable(mapextractor if(WIN32) target_link_libraries(mapextractor - libmpq - loadlib + mpq bzip2 ) else() target_link_libraries(mapextractor - libmpq - loadlib + mpq ${BZIP2_LIBRARIES} ) endif() diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp old mode 100644 new mode 100755 index 3a328e91bf4..2640b65d8b1 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -14,8 +14,8 @@ #include "dbcfile.h" #include "mpq_libmpq04.h" -#include "loadlib/adt.h" -#include "loadlib/wdt.h" +#include "adt.h" +#include "wdt.h" #include #if defined( __GNUC__ ) diff --git a/src/tools/map_extractor/adt.cpp b/src/tools/map_extractor/adt.cpp new file mode 100644 index 00000000000..fde70681113 --- /dev/null +++ b/src/tools/map_extractor/adt.cpp @@ -0,0 +1,131 @@ +#define _CRT_SECURE_NO_DEPRECATE + +#include "adt.h" + +// Helper +int holetab_h[4] = {0x1111, 0x2222, 0x4444, 0x8888}; +int holetab_v[4] = {0x000F, 0x00F0, 0x0F00, 0xF000}; + +bool isHole(int holes, int i, int j) +{ + int testi = i / 2; + int testj = j / 4; + if(testi > 3) testi = 3; + if(testj > 3) testj = 3; + return (holes & holetab_h[testi] & holetab_v[testj]) != 0; +} + +// +// Adt file loader class +// +ADT_file::ADT_file() +{ + a_grid = 0; +} + +ADT_file::~ADT_file() +{ + free(); +} + +void ADT_file::free() +{ + a_grid = 0; + FileLoader::free(); +} + +// +// Adt file check function +// +bool ADT_file::prepareLoadedData() +{ + // Check parent + if (!FileLoader::prepareLoadedData()) + return false; + + // Check and prepare MHDR + a_grid = (adt_MHDR *)(GetData()+8+version->size); + if (!a_grid->prepareLoadedData()) + return false; + + return true; +} + +bool adt_MHDR::prepareLoadedData() +{ + if (fcc != 'MHDR') + return false; + + if (size!=sizeof(adt_MHDR)-8) + return false; + + // Check and prepare MCIN + if (offsMCIN && !getMCIN()->prepareLoadedData()) + return false; + + // Check and prepare MH2O + if (offsMH2O && !getMH2O()->prepareLoadedData()) + return false; + + return true; +} + +bool adt_MCIN::prepareLoadedData() +{ + if (fcc != 'MCIN') + return false; + + // Check cells data + for (int i=0; iprepareLoadedData()) + return false; + + return true; +} + +bool adt_MH2O::prepareLoadedData() +{ + if (fcc != 'MH2O') + return false; + + // Check liquid data +// for (int i=0; iprepareLoadedData()) + return false; + // Check liquid data + if (offsMCLQ && !getMCLQ()->prepareLoadedData()) + return false; + + return true; +} + +bool adt_MCVT::prepareLoadedData() +{ + if (fcc != 'MCVT') + return false; + + if (size != sizeof(adt_MCVT)-8) + return false; + + return true; +} + +bool adt_MCLQ::prepareLoadedData() +{ + if (fcc != 'MCLQ') + return false; + + return true; +} \ No newline at end of file diff --git a/src/tools/map_extractor/adt.h b/src/tools/map_extractor/adt.h new file mode 100644 index 00000000000..725c5b994ee --- /dev/null +++ b/src/tools/map_extractor/adt.h @@ -0,0 +1,289 @@ +#ifndef ADT_H +#define ADT_H + +#include "loadlib.h" + +#define TILESIZE (533.33333f) +#define CHUNKSIZE ((TILESIZE) / 16.0f) +#define UNITSIZE (CHUNKSIZE / 8.0f) + +enum LiquidType +{ + LIQUID_TYPE_WATER = 0, + LIQUID_TYPE_OCEAN = 1, + LIQUID_TYPE_MAGMA = 2, + LIQUID_TYPE_SLIME = 3 +}; + +//************************************************************************************** +// ADT file class +//************************************************************************************** +#define ADT_CELLS_PER_GRID 16 +#define ADT_CELL_SIZE 8 +#define ADT_GRID_SIZE (ADT_CELLS_PER_GRID*ADT_CELL_SIZE) + +// +// Adt file height map chunk +// +class adt_MCVT +{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; + uint32 size; +public: + float height_map[(ADT_CELL_SIZE+1)*(ADT_CELL_SIZE+1)+ADT_CELL_SIZE*ADT_CELL_SIZE]; + + bool prepareLoadedData(); +}; + +// +// Adt file liquid map chunk (old) +// +class adt_MCLQ +{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; + uint32 size; +public: + float height1; + float height2; + struct liquid_data{ + uint32 light; + float height; + } liquid[ADT_CELL_SIZE+1][ADT_CELL_SIZE+1]; + + // 1<<0 - ochen + // 1<<1 - lava/slime + // 1<<2 - water + // 1<<6 - all water + // 1<<7 - dark water + // == 0x0F - not show liquid + uint8 flags[ADT_CELL_SIZE][ADT_CELL_SIZE]; + uint8 data[84]; + bool prepareLoadedData(); +}; + +// +// Adt file cell chunk +// +class adt_MCNK +{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; + uint32 size; +public: + uint32 flags; + uint32 ix; + uint32 iy; + uint32 nLayers; + uint32 nDoodadRefs; + uint32 offsMCVT; // height map + uint32 offsMCNR; // Normal vectors for each vertex + uint32 offsMCLY; // Texture layer definitions + uint32 offsMCRF; // A list of indices into the parent file's MDDF chunk + uint32 offsMCAL; // Alpha maps for additional texture layers + uint32 sizeMCAL; + uint32 offsMCSH; // Shadow map for static shadows on the terrain + uint32 sizeMCSH; + uint32 areaid; + uint32 nMapObjRefs; + uint32 holes; + uint16 s[2]; + uint32 data1; + uint32 data2; + uint32 data3; + uint32 predTex; + uint32 nEffectDoodad; + uint32 offsMCSE; + uint32 nSndEmitters; + uint32 offsMCLQ; // Liqid level (old) + uint32 sizeMCLQ; // + float zpos; + float xpos; + float ypos; + uint32 offsMCCV; // offsColorValues in WotLK + uint32 props; + uint32 effectId; + + bool prepareLoadedData(); + adt_MCVT *getMCVT() + { + if (offsMCVT) + return (adt_MCVT *)((uint8 *)this + offsMCVT); + return 0; + } + adt_MCLQ *getMCLQ() + { + if (offsMCLQ) + return (adt_MCLQ *)((uint8 *)this + offsMCLQ); + return 0; + } +}; + +// +// Adt file grid chunk +// +class adt_MCIN +{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; + uint32 size; +public: + struct adt_CELLS{ + uint32 offsMCNK; + uint32 size; + uint32 flags; + uint32 asyncId; + } cells[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID]; + + bool prepareLoadedData(); + // offset from begin file (used this-84) + adt_MCNK *getMCNK(int x, int y) + { + if (cells[x][y].offsMCNK) + return (adt_MCNK *)((uint8 *)this + cells[x][y].offsMCNK - 84); + return 0; + } +}; + +#define ADT_LIQUID_HEADER_FULL_LIGHT 0x01 +#define ADT_LIQUID_HEADER_NO_HIGHT 0x02 + +struct adt_liquid_header{ + uint16 liquidType; // Index from LiquidType.dbc + uint16 formatFlags; + float heightLevel1; + float heightLevel2; + uint8 xOffset; + uint8 yOffset; + uint8 width; + uint8 height; + uint32 offsData2a; + uint32 offsData2b; +}; + +// +// Adt file liquid data chunk (new) +// +class adt_MH2O +{ +public: + union{ + uint32 fcc; + char fcc_txt[4]; + }; + uint32 size; + + struct adt_LIQUID{ + uint32 offsData1; + uint32 used; + uint32 offsData2; + } liquid[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID]; + + bool prepareLoadedData(); + + adt_liquid_header *getLiquidData(int x, int y) + { + if (liquid[x][y].used && liquid[x][y].offsData1) + return (adt_liquid_header *)((uint8*)this + 8 + liquid[x][y].offsData1); + return 0; + } + + float *getLiquidHeightMap(adt_liquid_header *h) + { + if (h->formatFlags & ADT_LIQUID_HEADER_NO_HIGHT) + return 0; + if (h->offsData2b) + return (float *)((uint8*)this + 8 + h->offsData2b); + return 0; + } + + uint8 *getLiquidLightMap(adt_liquid_header *h) + { + if (h->formatFlags&ADT_LIQUID_HEADER_FULL_LIGHT) + return 0; + if (h->offsData2b) + { + if (h->formatFlags & ADT_LIQUID_HEADER_NO_HIGHT) + return (uint8 *)((uint8*)this + 8 + h->offsData2b); + return (uint8 *)((uint8*)this + 8 + h->offsData2b + (h->width+1)*(h->height+1)*4); + } + return 0; + } + + uint32 *getLiquidFullLightMap(adt_liquid_header *h) + { + if (!(h->formatFlags&ADT_LIQUID_HEADER_FULL_LIGHT)) + return 0; + if (h->offsData2b) + { + if (h->formatFlags & ADT_LIQUID_HEADER_NO_HIGHT) + return (uint32 *)((uint8*)this + 8 + h->offsData2b); + return (uint32 *)((uint8*)this + 8 + h->offsData2b + (h->width+1)*(h->height+1)*4); + } + return 0; + } + + uint64 getLiquidShowMap(adt_liquid_header *h) + { + if (h->offsData2a) + return *((uint64 *)((uint8*)this + 8 + h->offsData2a)); + else + return 0xFFFFFFFFFFFFFFFFLL; + } + +}; + +// +// Adt file header chunk +// +class adt_MHDR +{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; + uint32 size; + + uint32 pad; + uint32 offsMCIN; // MCIN + uint32 offsTex; // MTEX + uint32 offsModels; // MMDX + uint32 offsModelsIds; // MMID + uint32 offsMapObejcts; // MWMO + uint32 offsMapObejctsIds; // MWID + uint32 offsDoodsDef; // MDDF + uint32 offsObjectsDef; // MODF + uint32 offsMFBO; // MFBO + uint32 offsMH2O; // MH2O + uint32 data1; + uint32 data2; + uint32 data3; + uint32 data4; + uint32 data5; +public: + bool prepareLoadedData(); + adt_MCIN *getMCIN(){ return (adt_MCIN *)((uint8 *)&pad+offsMCIN);} + adt_MH2O *getMH2O(){ return offsMH2O ? (adt_MH2O *)((uint8 *)&pad+offsMH2O) : 0;} + +}; + +class ADT_file : public FileLoader{ +public: + bool prepareLoadedData(); + ADT_file(); + ~ADT_file(); + void free(); + + adt_MHDR *a_grid; +}; + +#endif diff --git a/src/tools/map_extractor/loadlib.cpp b/src/tools/map_extractor/loadlib.cpp new file mode 100644 index 00000000000..465eb04083f --- /dev/null +++ b/src/tools/map_extractor/loadlib.cpp @@ -0,0 +1,65 @@ +#define _CRT_SECURE_NO_DEPRECATE + +#include "loadlib.h" +#include "mpq_libmpq04.h" +#include + +class MPQFile; + +FileLoader::FileLoader() +{ + data = 0; + data_size = 0; + version = 0; +} + +FileLoader::~FileLoader() +{ + free(); +} + +bool FileLoader::loadFile(char *filename, bool log) +{ + free(); + MPQFile mf(filename); + if(mf.isEof()) + { + if (log) + printf("No such file %s\n", filename); + return false; + } + + data_size = mf.getSize(); + + data = new uint8 [data_size]; + if (data) + { + mf.read(data, data_size); + mf.close(); + if (prepareLoadedData()) + return true; + } + printf("Error loading %s", filename); + mf.close(); + free(); + return false; +} + +bool FileLoader::prepareLoadedData() +{ + // Check version + version = (file_MVER *) data; + if (version->fcc != 'MVER') + return false; + if (version->ver != FILE_FORMAT_VERSION) + return false; + return true; +} + +void FileLoader::free() +{ + if (data) delete[] data; + data = 0; + data_size = 0; + version = 0; +} diff --git a/src/tools/map_extractor/loadlib/adt.cpp b/src/tools/map_extractor/loadlib/adt.cpp deleted file mode 100644 index fde70681113..00000000000 --- a/src/tools/map_extractor/loadlib/adt.cpp +++ /dev/null @@ -1,131 +0,0 @@ -#define _CRT_SECURE_NO_DEPRECATE - -#include "adt.h" - -// Helper -int holetab_h[4] = {0x1111, 0x2222, 0x4444, 0x8888}; -int holetab_v[4] = {0x000F, 0x00F0, 0x0F00, 0xF000}; - -bool isHole(int holes, int i, int j) -{ - int testi = i / 2; - int testj = j / 4; - if(testi > 3) testi = 3; - if(testj > 3) testj = 3; - return (holes & holetab_h[testi] & holetab_v[testj]) != 0; -} - -// -// Adt file loader class -// -ADT_file::ADT_file() -{ - a_grid = 0; -} - -ADT_file::~ADT_file() -{ - free(); -} - -void ADT_file::free() -{ - a_grid = 0; - FileLoader::free(); -} - -// -// Adt file check function -// -bool ADT_file::prepareLoadedData() -{ - // Check parent - if (!FileLoader::prepareLoadedData()) - return false; - - // Check and prepare MHDR - a_grid = (adt_MHDR *)(GetData()+8+version->size); - if (!a_grid->prepareLoadedData()) - return false; - - return true; -} - -bool adt_MHDR::prepareLoadedData() -{ - if (fcc != 'MHDR') - return false; - - if (size!=sizeof(adt_MHDR)-8) - return false; - - // Check and prepare MCIN - if (offsMCIN && !getMCIN()->prepareLoadedData()) - return false; - - // Check and prepare MH2O - if (offsMH2O && !getMH2O()->prepareLoadedData()) - return false; - - return true; -} - -bool adt_MCIN::prepareLoadedData() -{ - if (fcc != 'MCIN') - return false; - - // Check cells data - for (int i=0; iprepareLoadedData()) - return false; - - return true; -} - -bool adt_MH2O::prepareLoadedData() -{ - if (fcc != 'MH2O') - return false; - - // Check liquid data -// for (int i=0; iprepareLoadedData()) - return false; - // Check liquid data - if (offsMCLQ && !getMCLQ()->prepareLoadedData()) - return false; - - return true; -} - -bool adt_MCVT::prepareLoadedData() -{ - if (fcc != 'MCVT') - return false; - - if (size != sizeof(adt_MCVT)-8) - return false; - - return true; -} - -bool adt_MCLQ::prepareLoadedData() -{ - if (fcc != 'MCLQ') - return false; - - return true; -} \ No newline at end of file diff --git a/src/tools/map_extractor/loadlib/adt.h b/src/tools/map_extractor/loadlib/adt.h deleted file mode 100644 index 725c5b994ee..00000000000 --- a/src/tools/map_extractor/loadlib/adt.h +++ /dev/null @@ -1,289 +0,0 @@ -#ifndef ADT_H -#define ADT_H - -#include "loadlib.h" - -#define TILESIZE (533.33333f) -#define CHUNKSIZE ((TILESIZE) / 16.0f) -#define UNITSIZE (CHUNKSIZE / 8.0f) - -enum LiquidType -{ - LIQUID_TYPE_WATER = 0, - LIQUID_TYPE_OCEAN = 1, - LIQUID_TYPE_MAGMA = 2, - LIQUID_TYPE_SLIME = 3 -}; - -//************************************************************************************** -// ADT file class -//************************************************************************************** -#define ADT_CELLS_PER_GRID 16 -#define ADT_CELL_SIZE 8 -#define ADT_GRID_SIZE (ADT_CELLS_PER_GRID*ADT_CELL_SIZE) - -// -// Adt file height map chunk -// -class adt_MCVT -{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; - uint32 size; -public: - float height_map[(ADT_CELL_SIZE+1)*(ADT_CELL_SIZE+1)+ADT_CELL_SIZE*ADT_CELL_SIZE]; - - bool prepareLoadedData(); -}; - -// -// Adt file liquid map chunk (old) -// -class adt_MCLQ -{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; - uint32 size; -public: - float height1; - float height2; - struct liquid_data{ - uint32 light; - float height; - } liquid[ADT_CELL_SIZE+1][ADT_CELL_SIZE+1]; - - // 1<<0 - ochen - // 1<<1 - lava/slime - // 1<<2 - water - // 1<<6 - all water - // 1<<7 - dark water - // == 0x0F - not show liquid - uint8 flags[ADT_CELL_SIZE][ADT_CELL_SIZE]; - uint8 data[84]; - bool prepareLoadedData(); -}; - -// -// Adt file cell chunk -// -class adt_MCNK -{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; - uint32 size; -public: - uint32 flags; - uint32 ix; - uint32 iy; - uint32 nLayers; - uint32 nDoodadRefs; - uint32 offsMCVT; // height map - uint32 offsMCNR; // Normal vectors for each vertex - uint32 offsMCLY; // Texture layer definitions - uint32 offsMCRF; // A list of indices into the parent file's MDDF chunk - uint32 offsMCAL; // Alpha maps for additional texture layers - uint32 sizeMCAL; - uint32 offsMCSH; // Shadow map for static shadows on the terrain - uint32 sizeMCSH; - uint32 areaid; - uint32 nMapObjRefs; - uint32 holes; - uint16 s[2]; - uint32 data1; - uint32 data2; - uint32 data3; - uint32 predTex; - uint32 nEffectDoodad; - uint32 offsMCSE; - uint32 nSndEmitters; - uint32 offsMCLQ; // Liqid level (old) - uint32 sizeMCLQ; // - float zpos; - float xpos; - float ypos; - uint32 offsMCCV; // offsColorValues in WotLK - uint32 props; - uint32 effectId; - - bool prepareLoadedData(); - adt_MCVT *getMCVT() - { - if (offsMCVT) - return (adt_MCVT *)((uint8 *)this + offsMCVT); - return 0; - } - adt_MCLQ *getMCLQ() - { - if (offsMCLQ) - return (adt_MCLQ *)((uint8 *)this + offsMCLQ); - return 0; - } -}; - -// -// Adt file grid chunk -// -class adt_MCIN -{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; - uint32 size; -public: - struct adt_CELLS{ - uint32 offsMCNK; - uint32 size; - uint32 flags; - uint32 asyncId; - } cells[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID]; - - bool prepareLoadedData(); - // offset from begin file (used this-84) - adt_MCNK *getMCNK(int x, int y) - { - if (cells[x][y].offsMCNK) - return (adt_MCNK *)((uint8 *)this + cells[x][y].offsMCNK - 84); - return 0; - } -}; - -#define ADT_LIQUID_HEADER_FULL_LIGHT 0x01 -#define ADT_LIQUID_HEADER_NO_HIGHT 0x02 - -struct adt_liquid_header{ - uint16 liquidType; // Index from LiquidType.dbc - uint16 formatFlags; - float heightLevel1; - float heightLevel2; - uint8 xOffset; - uint8 yOffset; - uint8 width; - uint8 height; - uint32 offsData2a; - uint32 offsData2b; -}; - -// -// Adt file liquid data chunk (new) -// -class adt_MH2O -{ -public: - union{ - uint32 fcc; - char fcc_txt[4]; - }; - uint32 size; - - struct adt_LIQUID{ - uint32 offsData1; - uint32 used; - uint32 offsData2; - } liquid[ADT_CELLS_PER_GRID][ADT_CELLS_PER_GRID]; - - bool prepareLoadedData(); - - adt_liquid_header *getLiquidData(int x, int y) - { - if (liquid[x][y].used && liquid[x][y].offsData1) - return (adt_liquid_header *)((uint8*)this + 8 + liquid[x][y].offsData1); - return 0; - } - - float *getLiquidHeightMap(adt_liquid_header *h) - { - if (h->formatFlags & ADT_LIQUID_HEADER_NO_HIGHT) - return 0; - if (h->offsData2b) - return (float *)((uint8*)this + 8 + h->offsData2b); - return 0; - } - - uint8 *getLiquidLightMap(adt_liquid_header *h) - { - if (h->formatFlags&ADT_LIQUID_HEADER_FULL_LIGHT) - return 0; - if (h->offsData2b) - { - if (h->formatFlags & ADT_LIQUID_HEADER_NO_HIGHT) - return (uint8 *)((uint8*)this + 8 + h->offsData2b); - return (uint8 *)((uint8*)this + 8 + h->offsData2b + (h->width+1)*(h->height+1)*4); - } - return 0; - } - - uint32 *getLiquidFullLightMap(adt_liquid_header *h) - { - if (!(h->formatFlags&ADT_LIQUID_HEADER_FULL_LIGHT)) - return 0; - if (h->offsData2b) - { - if (h->formatFlags & ADT_LIQUID_HEADER_NO_HIGHT) - return (uint32 *)((uint8*)this + 8 + h->offsData2b); - return (uint32 *)((uint8*)this + 8 + h->offsData2b + (h->width+1)*(h->height+1)*4); - } - return 0; - } - - uint64 getLiquidShowMap(adt_liquid_header *h) - { - if (h->offsData2a) - return *((uint64 *)((uint8*)this + 8 + h->offsData2a)); - else - return 0xFFFFFFFFFFFFFFFFLL; - } - -}; - -// -// Adt file header chunk -// -class adt_MHDR -{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; - uint32 size; - - uint32 pad; - uint32 offsMCIN; // MCIN - uint32 offsTex; // MTEX - uint32 offsModels; // MMDX - uint32 offsModelsIds; // MMID - uint32 offsMapObejcts; // MWMO - uint32 offsMapObejctsIds; // MWID - uint32 offsDoodsDef; // MDDF - uint32 offsObjectsDef; // MODF - uint32 offsMFBO; // MFBO - uint32 offsMH2O; // MH2O - uint32 data1; - uint32 data2; - uint32 data3; - uint32 data4; - uint32 data5; -public: - bool prepareLoadedData(); - adt_MCIN *getMCIN(){ return (adt_MCIN *)((uint8 *)&pad+offsMCIN);} - adt_MH2O *getMH2O(){ return offsMH2O ? (adt_MH2O *)((uint8 *)&pad+offsMH2O) : 0;} - -}; - -class ADT_file : public FileLoader{ -public: - bool prepareLoadedData(); - ADT_file(); - ~ADT_file(); - void free(); - - adt_MHDR *a_grid; -}; - -#endif diff --git a/src/tools/map_extractor/loadlib/loadlib.cpp b/src/tools/map_extractor/loadlib/loadlib.cpp deleted file mode 100644 index 465eb04083f..00000000000 --- a/src/tools/map_extractor/loadlib/loadlib.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#define _CRT_SECURE_NO_DEPRECATE - -#include "loadlib.h" -#include "mpq_libmpq04.h" -#include - -class MPQFile; - -FileLoader::FileLoader() -{ - data = 0; - data_size = 0; - version = 0; -} - -FileLoader::~FileLoader() -{ - free(); -} - -bool FileLoader::loadFile(char *filename, bool log) -{ - free(); - MPQFile mf(filename); - if(mf.isEof()) - { - if (log) - printf("No such file %s\n", filename); - return false; - } - - data_size = mf.getSize(); - - data = new uint8 [data_size]; - if (data) - { - mf.read(data, data_size); - mf.close(); - if (prepareLoadedData()) - return true; - } - printf("Error loading %s", filename); - mf.close(); - free(); - return false; -} - -bool FileLoader::prepareLoadedData() -{ - // Check version - version = (file_MVER *) data; - if (version->fcc != 'MVER') - return false; - if (version->ver != FILE_FORMAT_VERSION) - return false; - return true; -} - -void FileLoader::free() -{ - if (data) delete[] data; - data = 0; - data_size = 0; - version = 0; -} diff --git a/src/tools/map_extractor/loadlib/loadlib.h b/src/tools/map_extractor/loadlib/loadlib.h index 48fe794f8dc..49d5f590744 100644 --- a/src/tools/map_extractor/loadlib/loadlib.h +++ b/src/tools/map_extractor/loadlib/loadlib.h @@ -3,26 +3,28 @@ #ifdef _WIN32 typedef __int64 int64; -typedef long int32; -typedef short int16; -typedef char int8; +typedef __int32 int32; +typedef __int16 int16; +typedef __int8 int8; typedef unsigned __int64 uint64; -typedef unsigned long uint32; -typedef unsigned short uint16; -typedef unsigned char uint8; +typedef unsigned __int32 uint32; +typedef unsigned __int16 uint16; +typedef unsigned __int8 uint8; #else #include #ifndef uint64_t +#ifdef __linux__ #include #endif +#endif typedef int64_t int64; -typedef long int32; -typedef short int16; -typedef char int8; +typedef int32_t int32; +typedef int16_t int16; +typedef int8_t int8; typedef uint64_t uint64; -typedef unsigned long uint32; -typedef unsigned short uint16; -typedef unsigned char uint8; +typedef uint32_t uint32; +typedef uint16_t uint16; +typedef uint8_t uint8; #endif #define FILE_FORMAT_VERSION 18 diff --git a/src/tools/map_extractor/loadlib/wdt.cpp b/src/tools/map_extractor/loadlib/wdt.cpp deleted file mode 100644 index dedefbb64e5..00000000000 --- a/src/tools/map_extractor/loadlib/wdt.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#define _CRT_SECURE_NO_DEPRECATE - -#include "wdt.h" - -bool wdt_MWMO::prepareLoadedData() -{ - if (fcc != 'MWMO') - return false; - return true; -} - -bool wdt_MPHD::prepareLoadedData() -{ - if (fcc != 'MPHD') - return false; - return true; -} - -bool wdt_MAIN::prepareLoadedData() -{ - if (fcc != 'MAIN') - return false; - return true; -} - -WDT_file::WDT_file() -{ - mphd = 0; - main = 0; - wmo = 0; -} - -WDT_file::~WDT_file() -{ - free(); -} - -void WDT_file::free() -{ - mphd = 0; - main = 0; - wmo = 0; - FileLoader::free(); -} - -bool WDT_file::prepareLoadedData() -{ - // Check parent - if (!FileLoader::prepareLoadedData()) - return false; - - mphd = (wdt_MPHD *)((uint8*)version+version->size+8); - if (!mphd->prepareLoadedData()) - return false; - main = (wdt_MAIN *)((uint8*)mphd + mphd->size+8); - if (!main->prepareLoadedData()) - return false; - wmo = (wdt_MWMO *)((uint8*)main+ main->size+8); - if (!wmo->prepareLoadedData()) - return false; - return true; -} \ No newline at end of file diff --git a/src/tools/map_extractor/loadlib/wdt.h b/src/tools/map_extractor/loadlib/wdt.h deleted file mode 100644 index fcee8ac64f2..00000000000 --- a/src/tools/map_extractor/loadlib/wdt.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef WDT_H -#define WDT_H -#include "loadlib.h" - -//************************************************************************************** -// WDT file class and structures -//************************************************************************************** -#define WDT_MAP_SIZE 64 - -class wdt_MWMO{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; -public: - uint32 size; - bool prepareLoadedData(); -}; - -class wdt_MPHD{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; -public: - uint32 size; - - uint32 data1; - uint32 data2; - uint32 data3; - uint32 data4; - uint32 data5; - uint32 data6; - uint32 data7; - uint32 data8; - bool prepareLoadedData(); -}; - -class wdt_MAIN{ - union{ - uint32 fcc; - char fcc_txt[4]; - }; -public: - uint32 size; - - struct adtData{ - uint32 exist; - uint32 data1; - } adt_list[64][64]; - - bool prepareLoadedData(); -}; - -class WDT_file : public FileLoader{ -public: - bool prepareLoadedData(); - - WDT_file(); - ~WDT_file(); - void free(); - - wdt_MPHD *mphd; - wdt_MAIN *main; - wdt_MWMO *wmo; -}; - -#endif \ No newline at end of file diff --git a/src/tools/map_extractor/wdt.cpp b/src/tools/map_extractor/wdt.cpp new file mode 100644 index 00000000000..dedefbb64e5 --- /dev/null +++ b/src/tools/map_extractor/wdt.cpp @@ -0,0 +1,62 @@ +#define _CRT_SECURE_NO_DEPRECATE + +#include "wdt.h" + +bool wdt_MWMO::prepareLoadedData() +{ + if (fcc != 'MWMO') + return false; + return true; +} + +bool wdt_MPHD::prepareLoadedData() +{ + if (fcc != 'MPHD') + return false; + return true; +} + +bool wdt_MAIN::prepareLoadedData() +{ + if (fcc != 'MAIN') + return false; + return true; +} + +WDT_file::WDT_file() +{ + mphd = 0; + main = 0; + wmo = 0; +} + +WDT_file::~WDT_file() +{ + free(); +} + +void WDT_file::free() +{ + mphd = 0; + main = 0; + wmo = 0; + FileLoader::free(); +} + +bool WDT_file::prepareLoadedData() +{ + // Check parent + if (!FileLoader::prepareLoadedData()) + return false; + + mphd = (wdt_MPHD *)((uint8*)version+version->size+8); + if (!mphd->prepareLoadedData()) + return false; + main = (wdt_MAIN *)((uint8*)mphd + mphd->size+8); + if (!main->prepareLoadedData()) + return false; + wmo = (wdt_MWMO *)((uint8*)main+ main->size+8); + if (!wmo->prepareLoadedData()) + return false; + return true; +} \ No newline at end of file diff --git a/src/tools/map_extractor/wdt.h b/src/tools/map_extractor/wdt.h new file mode 100644 index 00000000000..fcee8ac64f2 --- /dev/null +++ b/src/tools/map_extractor/wdt.h @@ -0,0 +1,68 @@ +#ifndef WDT_H +#define WDT_H +#include "loadlib.h" + +//************************************************************************************** +// WDT file class and structures +//************************************************************************************** +#define WDT_MAP_SIZE 64 + +class wdt_MWMO{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; +public: + uint32 size; + bool prepareLoadedData(); +}; + +class wdt_MPHD{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; +public: + uint32 size; + + uint32 data1; + uint32 data2; + uint32 data3; + uint32 data4; + uint32 data5; + uint32 data6; + uint32 data7; + uint32 data8; + bool prepareLoadedData(); +}; + +class wdt_MAIN{ + union{ + uint32 fcc; + char fcc_txt[4]; + }; +public: + uint32 size; + + struct adtData{ + uint32 exist; + uint32 data1; + } adt_list[64][64]; + + bool prepareLoadedData(); +}; + +class WDT_file : public FileLoader{ +public: + bool prepareLoadedData(); + + WDT_file(); + ~WDT_file(); + void free(); + + wdt_MPHD *mphd; + wdt_MAIN *main; + wdt_MWMO *wmo; +}; + +#endif \ No newline at end of file -- cgit v1.2.3 From 711c12a68ea7e72052016c16bbcb165b0db87df9 Mon Sep 17 00:00:00 2001 From: Xanadu Date: Fri, 25 Jun 2010 16:23:14 +0200 Subject: Fixed win tool build. --HG-- branch : trunk --- src/tools/map_extractor/VC90/VC90_mapextractor.vcproj | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/tools') diff --git a/src/tools/map_extractor/VC90/VC90_mapextractor.vcproj b/src/tools/map_extractor/VC90/VC90_mapextractor.vcproj index c943d93d84e..3cc367f0fc8 100644 --- a/src/tools/map_extractor/VC90/VC90_mapextractor.vcproj +++ b/src/tools/map_extractor/VC90/VC90_mapextractor.vcproj @@ -48,7 +48,7 @@ @@ -249,6 +249,10 @@ Name="Header Files" Filter="h;hpp;hxx;hm;inl" > + + @@ -257,6 +261,10 @@ RelativePath=".\mpq_libmpq.h" > + + -- cgit v1.2.3 From f8bb7afa9817411beda1f2492d18c61679e9a5f9 Mon Sep 17 00:00:00 2001 From: click Date: Wed, 30 Jun 2010 16:51:37 +0200 Subject: And even more CMake-specific cleanups (mutes most of the "non-harmful" warnings - VS is just trying to be too friendly/noisy at times) --HG-- branch : trunk --- CMakeLists.txt | 61 ++++++++++++++++++++++---------- externals/zlib/CMakeLists.txt | 19 +++++++--- src/server/authserver/CMakeLists.txt | 47 ++++++++++++------------ src/server/worldserver/CMakeLists.txt | 11 +++--- src/tools/map_extractor/CMakeLists.txt | 4 ++- src/tools/vmap3_assembler/CMakeLists.txt | 4 ++- src/tools/vmap3_extractor/CMakeLists.txt | 4 ++- 7 files changed, 96 insertions(+), 54 deletions(-) (limited to 'src/tools') diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b56a8906b4..ed74400e808 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,7 @@ if( NOT CMAKE_BUILD_TYPE ) set(CMAKE_BUILD_TYPE "Release") endif() +if( UNIX ) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" @@ -66,6 +67,7 @@ configure_file( add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" ) +endif() option(DO_AUTHSERVER "Build authserver" 1) option(DO_WORLDSERVER "Build worldserver" 1) @@ -100,27 +102,49 @@ set(GENREV_SRC # Handle debugmode compiles (this will require further work for proper WIN32-setups) if( DO_DEBUG ) set(CMAKE_BUILD_TYPE Debug) + add_executable(genrev ${GENREV_SRC} ) - add_custom_target("revision.h" ALL - COMMAND "${CMAKE_BINARY_DIR}/genrev" - ${CMAKE_SOURCE_DIR} - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" - DEPENDS genrev - ) + if( CMAKE_GENERATOR MATCHES "Visual Studio" ) + add_custom_target("revision.h" ALL + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/$(ConfigurationName)/genrev" + ${CMAKE_SOURCE_DIR} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + DEPENDS genrev + ) + else() + add_custom_target("revision.h" ALL + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/genrev" + ${CMAKE_SOURCE_DIR} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + DEPENDS genrev + ) + endif() + else() + add_executable(genrev ${GENREV_SRC} ) - add_custom_target("revision.h" ALL - COMMAND "${CMAKE_BINARY_DIR}/genrev" - ${CMAKE_SOURCE_DIR} - WORKING_DIRECTORY "${CMAKE_BINARY_DIR}" - DEPENDS genrev - ) + if( CMAKE_GENERATOR MATCHES "Visual Studio" ) + add_custom_target("revision.h" ALL + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/$(ConfigurationName)/genrev" + ${CMAKE_SOURCE_DIR} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + DEPENDS genrev + ) + else() + add_custom_target("revision.h" ALL + COMMAND "${CMAKE_CURRENT_BINARY_DIR}/genrev" + ${CMAKE_SOURCE_DIR} + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + DEPENDS genrev + ) + endif() + endif() execute_process( @@ -209,12 +233,13 @@ else() elseif( WIN32 ) # Disable warnings in Visual Studio 8 and above if(MSVC AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996 /wd4355 /wd4244 /wd4267") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996 /wd4355 /wd4244 /wd4985 /wd4267") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996 /wd4355 /wd4244 /wd4985 /wd4267") + + set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996 /wd4355 /wd4244 /wd4985 /wd4267") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996 /wd4355 /wd4244 /wd4985 /wd4267") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996 /wd4355 /wd4244 /wd4985 /wd4267") endif() add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() diff --git a/externals/zlib/CMakeLists.txt b/externals/zlib/CMakeLists.txt index bd194531bb5..e53fae3053d 100644 --- a/externals/zlib/CMakeLists.txt +++ b/externals/zlib/CMakeLists.txt @@ -8,15 +8,24 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -file(GLOB sources *.c) -file(GLOB headers *.h) SET(zlib_STAT_SRCS - ${sources} - ) + adler32.c + compress.c + crc32.c + deflate.c + example.c + infback.c + inffast.c + inflate.c + inftrees.c + trees.c + uncompr.c + zutil.c +) include_directories( ${CMAKE_CURRENT_SOURCE_DIR} - ) +) add_library(zlib STATIC ${zlib_STAT_SRCS}) diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt index 956010da987..e97bcfbea88 100644 --- a/src/server/authserver/CMakeLists.txt +++ b/src/server/authserver/CMakeLists.txt @@ -57,29 +57,30 @@ endif() set_target_properties(authserver PROPERTIES LINK_FLAGS "${authserver_LINK_FLAGS}") if(WIN32) -target_link_libraries( - authserver - shared - trinitydatabase - trinityauth - trinityconfig - ${MYSQL_LIBRARY} - ${OPENSSL_LIBRARIES} - ${OPENSSL_EXTRA_LIBRARIES} -) + target_link_libraries( + authserver + shared + trinitydatabase + trinityauth + trinityconfig + ${MYSQL_LIBRARY} + ${OPENSSL_LIBRARIES} + ${OPENSSL_EXTRA_LIBRARIES} + ) else() -target_link_libraries( - authserver - shared - trinitydatabase - trinityauth - trinityconfig - ${MYSQL_LIBRARY} - ${OPENSSL_LIBRARIES} - ${OSX_LIBS} -) + target_link_libraries( + authserver + shared + trinitydatabase + trinityauth + trinityconfig + ${MYSQL_LIBRARY} + ${OPENSSL_LIBRARIES} + ${OSX_LIBS} + ) endif() -########### install files ############### -install(TARGETS authserver DESTINATION bin) -install(FILES authserver.conf.dist DESTINATION etc) +if( UNIX ) + install(TARGETS authserver DESTINATION bin) + install(FILES authserver.conf.dist DESTINATION etc) +endif() diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index 823cc720e56..17bdc418884 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -140,8 +140,9 @@ if(DO_SCRIPTS) else(DO_SCRIPTS) set(SCRIPT_LIB "") endif(DO_SCRIPTS) + if(WIN32) - target_link_libraries( + target_link_libraries( worldserver game shared @@ -181,7 +182,7 @@ else() ) endif() -########### install files ############### - -install(TARGETS worldserver DESTINATION bin) -install(FILES worldserver.conf.dist DESTINATION etc) +if( UNIX ) + install(TARGETS worldserver DESTINATION bin) + install(FILES worldserver.conf.dist DESTINATION etc) +endif() diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index a18ee7cd517..cb3778c7c6a 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -33,4 +33,6 @@ else() ) endif() -install(TARGETS mapextractor DESTINATION bin) +if( UNIX ) + install(TARGETS mapextractor DESTINATION bin) +endif() diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 0b8ece2dc37..2035d3f2055 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -37,4 +37,6 @@ else() ) endif() -install(TARGETS vmap3assembler DESTINATION bin) +if( UNIX ) + install(TARGETS vmap3assembler DESTINATION bin) +if() diff --git a/src/tools/vmap3_extractor/CMakeLists.txt b/src/tools/vmap3_extractor/CMakeLists.txt index 9dfdd545df8..62604f7ad3d 100755 --- a/src/tools/vmap3_extractor/CMakeLists.txt +++ b/src/tools/vmap3_extractor/CMakeLists.txt @@ -36,4 +36,6 @@ else() ) endif() -install(TARGETS vmap3extractor DESTINATION bin) +if( UNIX ) + install(TARGETS vmap3extractor DESTINATION bin) +endif() -- cgit v1.2.3 From d12b6fa6dd798d329455411eae882558504a02d9 Mon Sep 17 00:00:00 2001 From: click Date: Wed, 30 Jun 2010 17:14:13 +0200 Subject: Fix vmap3_assembler CmakeLists.txt - thanks m.ax for noticing the typo --HG-- branch : trunk --- src/tools/vmap3_assembler/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/tools') diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index 2035d3f2055..c920571c439 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -39,4 +39,4 @@ endif() if( UNIX ) install(TARGETS vmap3assembler DESTINATION bin) -if() +endif() -- cgit v1.2.3 From 45e2a65fad6549ff93005ff166fba309c20259e0 Mon Sep 17 00:00:00 2001 From: click Date: Fri, 9 Jul 2010 18:02:46 +0200 Subject: Update VMap3 to "final" release (REEXTRACTION OF MAPS/VMAPS IS REQUIRED!) - thanks to Lynx3d (again) - add magic-header to .vmtile files - calculate waterlevels for non-flat surfaces in a more correct way - make MSVC shut up about float-issues - change logging around a bit (output function that the respective logentry comes from) - remove remaining Stormlib leftovers - set indoor/outdoor check to enabled by default (more blizzlike) --HG-- branch : trunk --- src/server/collision/Management/VMapManager2.cpp | 32 ++++++------ src/server/collision/Maps/MapTree.cpp | 64 ++++++++++++++---------- src/server/collision/Maps/MapTree.h | 1 + src/server/collision/Maps/TileAssembler.cpp | 28 ++++++----- src/server/collision/Models/ModelInstance.cpp | 23 +++++---- src/server/collision/Models/WorldModel.cpp | 63 +++++++++++++++++------ src/server/collision/VMapDefinitions.h | 22 ++++---- src/server/worldserver/worldserver.conf.dist | 6 +-- src/tools/vmap3_assembler/VMapAssembler.cpp | 4 +- src/tools/vmap3_extractor/dbcfile.h | 22 ++++++-- src/tools/vmap3_extractor/vmapexport.cpp | 2 +- 11 files changed, 165 insertions(+), 102 deletions(-) (limited to 'src/tools') diff --git a/src/server/collision/Management/VMapManager2.cpp b/src/server/collision/Management/VMapManager2.cpp index 1936ba6ebba..61b202c9342 100644 --- a/src/server/collision/Management/VMapManager2.cpp +++ b/src/server/collision/Management/VMapManager2.cpp @@ -1,19 +1,19 @@ /* + * Copyright (C) 2008-2010 TrinityCore * Copyright (C) 2005-2010 MaNGOS * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . */ #include @@ -57,7 +57,7 @@ namespace VMAP Vector3 VMapManager2::convertPositionToInternalRep(float x, float y, float z) const { Vector3 pos; - const float mid = 0.5 * 64.0 * 533.33333333f; + const float mid = 0.5f * 64.0f * 533.33333333f; pos.x = mid - x; pos.y = mid - y; pos.z = z; @@ -70,7 +70,7 @@ namespace VMAP Vector3 VMapManager2::convertPositionToMangosRep(float x, float y, float z) const { Vector3 pos; - const float mid = 0.5 * 64.0 * 533.33333333f; + const float mid = 0.5f * 64.0f * 533.33333333f; pos.x = mid - x; pos.y = mid - y; pos.z = z; @@ -301,11 +301,11 @@ namespace VMAP WorldModel *worldmodel = new WorldModel(); if (!worldmodel->readFile(basepath + filename + ".vmo")) { - sLog.outError("VMapManager2: could not load '%s%s.vmo'!", basepath.c_str(), filename.c_str()); + sLog.outError("VMapManager2: could not load '%s%s.vmo'", basepath.c_str(), filename.c_str()); delete worldmodel; return NULL; } - sLog.outDebug("VMapManager2: loading file '%s%s'.", basepath.c_str(), filename.c_str()); + sLog.outDebug("VMapManager2: loading file '%s%s'", basepath.c_str(), filename.c_str()); model = iLoadedModelFiles.insert(std::pair(filename, ManagedModel())).first; model->second.setModel(worldmodel); } @@ -318,7 +318,7 @@ namespace VMAP ModelFileMap::iterator model = iLoadedModelFiles.find(filename); if (model == iLoadedModelFiles.end()) { - sLog.outError("VMapManager2: trying to unload non-loaded file '%s'!", filename.c_str()); + sLog.outError("VMapManager2: trying to unload non-loaded file '%s'", filename.c_str()); return; } if( model->second.decRefCount() == 0) diff --git a/src/server/collision/Maps/MapTree.cpp b/src/server/collision/Maps/MapTree.cpp index af92ec37ae7..e758581e2f8 100644 --- a/src/server/collision/Maps/MapTree.cpp +++ b/src/server/collision/Maps/MapTree.cpp @@ -1,19 +1,19 @@ /* + * Copyright (C) 2008-2010 TrinityCore * Copyright (C) 2005-2010 MaNGOS * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . */ #include "MapTree.h" @@ -57,7 +57,7 @@ namespace VMAP void operator()(const Vector3& point, uint32 entry) { #ifdef VMAP_DEBUG - sLog.outDebug("trying to intersect '%s'", prims[entry].name.c_str()); + sLog.outDebug("AreaInfoCallback: trying to intersect '%s'", prims[entry].name.c_str()); #endif prims[entry].intersectPoint(point, aInfo); } @@ -73,7 +73,7 @@ namespace VMAP void operator()(const Vector3& point, uint32 entry) { #ifdef VMAP_DEBUG - sLog.outDebug("trying to intersect '%s'", prims[entry].name.c_str()); + sLog.outDebug("LocationInfoCallback: trying to intersect '%s'", prims[entry].name.c_str()); #endif if (prims[entry].GetLocationInfo(point, locInfo)) result = true; @@ -121,7 +121,7 @@ namespace VMAP } StaticMapTree::StaticMapTree(uint32 mapID, const std::string &basePath): - iMapID(mapID), /* iTree(0), */ iTreeValues(0), iBasePath(basePath) + iMapID(mapID), iTreeValues(0), iBasePath(basePath) { if (iBasePath.length() > 0 && (iBasePath[iBasePath.length()-1] != '/' || iBasePath[iBasePath.length()-1] != '\\')) { @@ -260,7 +260,11 @@ namespace VMAP if (!tf) success = false; else + { + if (!readChunk(tf, chunk, VMAP_MAGIC, 8)) + success = false; fclose(tf); + } } fclose(rf); return success; @@ -270,7 +274,7 @@ namespace VMAP bool StaticMapTree::InitMap(const std::string &fname, VMapManager2 *vm) { - sLog.outDebug("Initializing StaticMapTree '%s'", fname.c_str()); + sLog.outDebug("StaticMapTree::InitMap() : initializing StaticMapTree '%s'", fname.c_str()); bool success = true; std::string fullname = iBasePath + fname; FILE *rf = fopen(fullname.c_str(), "rb"); @@ -298,12 +302,12 @@ namespace VMAP // only non-tiled maps have them, and if so exactly one (so far at least...) ModelSpawn spawn; #ifdef VMAP_DEBUG - sLog.outDebug("Map isTiled: %u", static_cast(iIsTiled)); + sLog.outDebug("StaticMapTree::InitMap() : map isTiled: %u", static_cast(iIsTiled)); #endif if (!iIsTiled && ModelSpawn::readFromFile(rf, spawn)) { WorldModel *model = vm->acquireModelInstance(iBasePath, spawn.name); - sLog.outDebug("StaticMapTree::InitMap(): loading %s", spawn.name.c_str()); + sLog.outDebug("StaticMapTree::InitMap() : loading %s", spawn.name.c_str()); if (model) { // assume that global model always is the first and only tree value (could be improved...) @@ -313,7 +317,7 @@ namespace VMAP else { success = false; - sLog.outError("Could not acquire WorldModel pointer!"); + sLog.outError("StaticMapTree::InitMap() : could not acquire WorldModel pointer for '%s'", spawn.name.c_str()); } } @@ -349,7 +353,7 @@ namespace VMAP } if (!iTreeValues) { - sLog.outError("Tree has not been initialized! [%u,%u]", tileX, tileY); + sLog.outError("StaticMapTree::LoadMapTile() : tree has not been initialized [%u,%u]", tileX, tileY); return false; } bool result = true; @@ -358,8 +362,12 @@ namespace VMAP FILE* tf = fopen(tilefile.c_str(), "rb"); if (tf) { + char chunk[8]; + + if (!readChunk(tf, chunk, VMAP_MAGIC, 8)) + result = false; uint32 numSpawns; - if (fread(&numSpawns, sizeof(uint32), 1, tf) != 1) + if (result && fread(&numSpawns, sizeof(uint32), 1, tf) != 1) result = false; for (uint32 i=0; iacquireModelInstance(iBasePath, spawn.name); if (!model) - sLog.outError("error: could not acquire WorldModel pointer! [%u,%u]", tileX, tileY); + sLog.outError("StaticMapTree::LoadMapTile() : could not acquire WorldModel pointer [%u,%u]", tileX, tileY); // update tree uint32 referencedVal; @@ -382,7 +390,7 @@ namespace VMAP #ifdef VMAP_DEBUG if (referencedVal > iNTreeValues) { - sLog.outDebug("invalid tree element! (%u/%u)", referencedVal, iNTreeValues); + sLog.outDebug("StaticMapTree::LoadMapTile() : invalid tree element (%u/%u)", referencedVal, iNTreeValues); continue; } #endif @@ -394,9 +402,9 @@ namespace VMAP ++iLoadedSpawns[referencedVal]; #ifdef VMAP_DEBUG if (iTreeValues[referencedVal].ID != spawn.ID) - sLog.outDebug("error: trying to load wrong spawn in node!"); + sLog.outDebug("StaticMapTree::LoadMapTile() : trying to load wrong spawn in node"); else if (iTreeValues[referencedVal].name != spawn.name) - sLog.outDebug("error: name collision on GUID=%u", spawn.ID); + sLog.outDebug("StaticMapTree::LoadMapTile() : name collision on GUID=%u", spawn.ID); #endif } } @@ -417,7 +425,7 @@ namespace VMAP loadedTileMap::iterator tile = iLoadedTiles.find(tileID); if (tile == iLoadedTiles.end()) { - sLog.outError("WARNING: trying to unload non-loaded tile. Map:%u X:%u Y:%u", iMapID, tileX, tileY); + sLog.outError("StaticMapTree::UnloadMapTile() : trying to unload non-loaded tile - Map:%u X:%u Y:%u", iMapID, tileX, tileY); return; } if (tile->second) // file associated with tile @@ -427,6 +435,9 @@ namespace VMAP if (tf) { bool result=true; + char chunk[8]; + if (!readChunk(tf, chunk, VMAP_MAGIC, 8)) + result = false; uint32 numSpawns; if (fread(&numSpawns, sizeof(uint32), 1, tf) != 1) result = false; @@ -446,11 +457,10 @@ namespace VMAP fread(&referencedNode, sizeof(uint32), 1, tf); if (!iLoadedSpawns.count(referencedNode)) { - sLog.outError("Trying to unload non-referenced model '%s' (ID:%u)", spawn.name.c_str(), spawn.ID); + sLog.outError("StaticMapTree::UnloadMapTile() : trying to unload non-referenced model '%s' (ID:%u)", spawn.name.c_str(), spawn.ID); } else if (--iLoadedSpawns[referencedNode] == 0) { - //std::cout << "MapTree: removing '" << spawn.name << "' from tree\n"; iTreeValues[referencedNode].setUnloaded(); iLoadedSpawns.erase(referencedNode); } diff --git a/src/server/collision/Maps/MapTree.h b/src/server/collision/Maps/MapTree.h index 7a7af43e949..f9c51d47b95 100644 --- a/src/server/collision/Maps/MapTree.h +++ b/src/server/collision/Maps/MapTree.h @@ -22,6 +22,7 @@ #include "Define.h" #include "Dynamic/UnorderedMap.h" #include "BoundingIntervalHierarchy.h" +#include "Log.h" namespace VMAP { diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/server/collision/Maps/TileAssembler.cpp index 0b9780130ed..c6798e70cc4 100644 --- a/src/server/collision/Maps/TileAssembler.cpp +++ b/src/server/collision/Maps/TileAssembler.cpp @@ -1,19 +1,19 @@ /* + * Copyright (C) 2008-2010 TrinityCore * Copyright (C) 2005-2010 MaNGOS * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . */ #include "WorldModel.h" @@ -82,6 +82,7 @@ namespace VMAP // build global map tree std::vector mapSpawns; UniqueEntryMap::iterator entry; + printf("Calculating model bounds for map %u...\n", map_iter->first); for (entry = map_iter->second->UniqueEntries.begin(); entry != map_iter->second->UniqueEntries.end(); ++entry) { // M2 models don't have a bound set in WDT/ADT placement data, i still think they're not used for LoS at all on retail @@ -100,6 +101,7 @@ namespace VMAP spawnedModelFiles.insert(entry->second.name); } + printf("Creating map tree...\n", map_iter->first); BIH pTree; pTree.build(mapSpawns, BoundsTrait::getBounds); @@ -107,8 +109,6 @@ namespace VMAP std::map modelNodeIdx; for (uint32 i=0; i(mapSpawns[i]->ID, i)); - if (!modelNodeIdx.empty()) - printf("min GUID: %u, max GUID: %u\n", modelNodeIdx.begin()->first, modelNodeIdx.rbegin()->first); // write map tree file std::stringstream mapfilename; @@ -158,6 +158,8 @@ namespace VMAP StaticMapTree::unpackTileID(tile->first, x, y); tilefilename << std::setw(2) << x << "_" << std::setw(2) << y << ".vmtile"; FILE *tilefile = fopen(tilefilename.str().c_str(), "wb"); + // file header + if (success && fwrite(VMAP_MAGIC, 1, 8, tilefile) != 8) success = false; // write number of tile spawns if (success && fwrite(&nSpawns, sizeof(uint32), 1, tilefile) != 1) success = false; // write tile spawns diff --git a/src/server/collision/Models/ModelInstance.cpp b/src/server/collision/Models/ModelInstance.cpp index 677a08e147a..af32d4026e7 100644 --- a/src/server/collision/Models/ModelInstance.cpp +++ b/src/server/collision/Models/ModelInstance.cpp @@ -1,24 +1,25 @@ /* + * Copyright (C) 2008-2010 TrinityCore * Copyright (C) 2005-2010 MaNGOS * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . */ #include "ModelInstance.h" #include "WorldModel.h" #include "MapTree.h" +#include "VMapDefinitions.h" using G3D::Vector3; using G3D::Ray; diff --git a/src/server/collision/Models/WorldModel.cpp b/src/server/collision/Models/WorldModel.cpp index 690c77577ae..0bd156fedc2 100644 --- a/src/server/collision/Models/WorldModel.cpp +++ b/src/server/collision/Models/WorldModel.cpp @@ -1,19 +1,19 @@ /* + * Copyright (C) 2008-2010 TrinityCore * Copyright (C) 2005-2010 MaNGOS * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . */ #include "WorldModel.h" @@ -148,15 +148,48 @@ namespace VMAP bool WmoLiquid::GetLiquidHeight(const Vector3 &pos, float &liqHeight) const { - uint32 tx = (pos.x - iCorner.x)/LIQUID_TILE_SIZE; + float tx_f = (pos.x - iCorner.x)/LIQUID_TILE_SIZE; + uint32 tx = uint32(tx_f); if (tx<0 || tx >= iTilesX) return false; - uint32 ty = (pos.y - iCorner.y)/LIQUID_TILE_SIZE; + float ty_f = (pos.y - iCorner.y)/LIQUID_TILE_SIZE; + uint32 ty = uint32(ty_f); if (ty<0 || ty >= iTilesY) return false; + + // check if tile shall be used for liquid level // checking for 0x08 *might* be enough, but disabled tiles always are 0x?F: if ((iFlags[tx + ty*iTilesX] & 0x0F) == 0x0F) return false; - //placeholder...use only lower left corner vertex - liqHeight = /* iCorner.z + */ iHeight[tx + ty*(iTilesX+1)]; + + // (dx, dy) coordinates inside tile, in [0,1]^2 + float dx = tx_f - (float)tx; + float dy = ty_f - (float)ty; + + /* Tesselate tile to two triangles (not sure if client does it exactly like this) + + ^ dy + | + 1 x---------x (1,1) + | (b) / | + | / | + | / | + | / (a) | + x---------x---> dx + 0 1 + */ + + const uint32 rowOffset = iTilesX + 1; + if (dx > dy) // case (a) + { + float sx = iHeight[tx+1 + ty * rowOffset] - iHeight[tx + ty * rowOffset]; + float sy = iHeight[tx+1 + (ty+1) * rowOffset] - iHeight[tx+1 + ty * rowOffset]; + liqHeight = iHeight[tx + ty * rowOffset] + dx * sx + dy * sy; + } + else // case (b) + { + float sx = iHeight[tx+1 + (ty+1) * rowOffset] - iHeight[tx + (ty+1) * rowOffset]; + float sy = iHeight[tx + (ty+1) * rowOffset] - iHeight[tx + ty * rowOffset]; + liqHeight = iHeight[tx + ty * rowOffset] + dx * sx + dy * sy; + } return true; } diff --git a/src/server/collision/VMapDefinitions.h b/src/server/collision/VMapDefinitions.h index e4a34cc1397..5f4a976ed2a 100644 --- a/src/server/collision/VMapDefinitions.h +++ b/src/server/collision/VMapDefinitions.h @@ -1,19 +1,19 @@ /* + * Copyright (C) 2008-YYYY TrinityCore * Copyright (C) 2005-2010 MaNGOS * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . */ #ifndef _VMAPDEFINITIONS_H diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 3b6d20e093d..b78d8b363cd 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -177,7 +177,7 @@ EAIErrorLevel = 2 # # vmap.enableIndoorCheck # Enable/Disable VMap based indoor check to remove outdoor-only auras (mounts etc.) -# Default: 0 (disabled) +# Default: 1 (enabled) # # DetectPosCollision # Check final move position, summon position, etc for visible collision @@ -244,10 +244,10 @@ PlayerSave.Stats.MinLevel = 0 PlayerSave.Stats.SaveOnlyOnLogout = 1 vmap.enableLOS = 0 vmap.enableHeight = 0 -vmap.ignoreMapIds = "369" +vmap.ignoreMapIds = "" vmap.ignoreSpellIds = "7720" vmap.petLOS = 0 -vmap.enableIndoorCheck = 0 +vmap.enableIndoorCheck = 1 DetectPosCollision = 1 TargetPosRecalculateRange = 1.5 UpdateUptimeInterval = 10 diff --git a/src/tools/vmap3_assembler/VMapAssembler.cpp b/src/tools/vmap3_assembler/VMapAssembler.cpp index 6666b54356c..d714db5ae45 100644 --- a/src/tools/vmap3_assembler/VMapAssembler.cpp +++ b/src/tools/vmap3_assembler/VMapAssembler.cpp @@ -76,11 +76,13 @@ A '#' at the beginning of a line defines a comment return(result); } */ //======================================================= + int main(int argc, char* argv[]) { if(argc != 3 && argc != 4) { - printf("\nusage: %s [config file name]\n", argv[0]); + //printf("\nusage: %s [config file name]\n", argv[0]); + printf("\nusage: %s \n", argv[0]); return 1; } diff --git a/src/tools/vmap3_extractor/dbcfile.h b/src/tools/vmap3_extractor/dbcfile.h index 7381ab9f668..d405d6ffd60 100644 --- a/src/tools/vmap3_extractor/dbcfile.h +++ b/src/tools/vmap3_extractor/dbcfile.h @@ -1,13 +1,27 @@ +/* + * Copyright (C) 2008-2010 TrinityCore + * Copyright (C) 2005-2010 MaNGOS + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + #ifndef DBCFILE_H #define DBCFILE_H -#define __STORMLIB_SELF__ #include #include -//#include "StormLib.h" -#undef min -#undef max class DBCFile { public: diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index 82e9bd7cc7b..b82f9249f07 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -435,7 +435,7 @@ bool processArgv(int argc, char ** argv, const char *versionString) int main(int argc, char ** argv) { bool success=true; - const char *versionString = "V2.90 2010_05"; + const char *versionString = "V3.00 2010_07"; // Use command line arguments, when some if(!processArgv(argc, argv, versionString)) -- cgit v1.2.3 From e54e153e2e2fbefb93fba10373efc36e74aa483b Mon Sep 17 00:00:00 2001 From: Tartalo Date: Tue, 13 Jul 2010 10:31:58 +0200 Subject: Tools, vmap3_extractor: Add missing locales support, by Lynx3d Closes issue #2813 --HG-- branch : trunk --- src/tools/vmap3_extractor/vmapexport.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/tools') diff --git a/src/tools/vmap3_extractor/vmapexport.cpp b/src/tools/vmap3_extractor/vmapexport.cpp index b82f9249f07..2be03d85d97 100644 --- a/src/tools/vmap3_extractor/vmapexport.cpp +++ b/src/tools/vmap3_extractor/vmapexport.cpp @@ -311,6 +311,11 @@ bool fillArchiveNameVector(std::vector& pArchiveNames) searchLocales.push_back("esES"); searchLocales.push_back("frFR"); searchLocales.push_back("koKR"); + searchLocales.push_back("zhCN"); + searchLocales.push_back("zhTW"); + searchLocales.push_back("enCN"); + searchLocales.push_back("enTW"); + searchLocales.push_back("esMX"); searchLocales.push_back("ruRU"); for (std::vector::iterator i = searchLocales.begin(); i != searchLocales.end(); ++i) -- cgit v1.2.3