From e2b15852e4c486e1e8e22fb274b02a3a1485484f Mon Sep 17 00:00:00 2001 From: "\"Matt Raykowski\"" Date: Thu, 16 Sep 2010 20:43:58 -0500 Subject: [PATCH 01/28] Changed: Added 'install' to the list of ignored folders. --- .hgignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgignore b/.hgignore index 748e704fe..9940cef3d 100644 --- a/.hgignore +++ b/.hgignore @@ -151,6 +151,7 @@ code/snowballs/build/* code/ryzom/build/* code/build/* build/* +install/* # Linux nel compile code/nel/build/nel-config From 17abf65489f902180756a50e15b8ce463d3d37d1 Mon Sep 17 00:00:00 2001 From: kervala Date: Fri, 17 Sep 2010 10:22:31 +0200 Subject: [PATCH 02/28] Changed: Renamed gameplay_module_lib to ryzom_gameplaymodule --- .../server/src/gameplay_module_lib/CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/ryzom/server/src/gameplay_module_lib/CMakeLists.txt b/code/ryzom/server/src/gameplay_module_lib/CMakeLists.txt index ef1a89ea7..cf54655f7 100644 --- a/code/ryzom/server/src/gameplay_module_lib/CMakeLists.txt +++ b/code/ryzom/server/src/gameplay_module_lib/CMakeLists.txt @@ -1,13 +1,13 @@ FILE(GLOB SRC *.cpp *.h) -NL_TARGET_LIB(gameplay_module_lib ${SRC}) +NL_TARGET_LIB(ryzom_gameplaymodule ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) -TARGET_LINK_LIBRARIES(gameplay_module_lib nelmisc) +TARGET_LINK_LIBRARIES(ryzom_gameplaymodule nelmisc) -NL_DEFAULT_PROPS(gameplay_module_lib "Ryzom, Library: Gameplay Module") -NL_ADD_LIB_SUFFIX(gameplay_module_lib) +NL_DEFAULT_PROPS(ryzom_gameplaymodule "Ryzom, Library: Gameplay Module") +NL_ADD_LIB_SUFFIX(ryzom_gameplaymodule) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS gameplay_module_lib LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) +INSTALL(TARGETS ryzom_gameplaymodule LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) From d568711258ebb40b4d794844787a029cde0d8416 Mon Sep 17 00:00:00 2001 From: kervala Date: Fri, 17 Sep 2010 12:19:11 +0200 Subject: [PATCH 03/28] Changed: #825 Remove all warnings when compiling Ryzom --- code/ryzom/tools/pd_parser/templatizer.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/ryzom/tools/pd_parser/templatizer.cpp b/code/ryzom/tools/pd_parser/templatizer.cpp index 7c7119ea1..862956abd 100644 --- a/code/ryzom/tools/pd_parser/templatizer.cpp +++ b/code/ryzom/tools/pd_parser/templatizer.cpp @@ -40,7 +40,13 @@ enum TTemplatizerToken Unknown }; -struct { TTemplatizerToken Token; const char* Text; } SimpleTokens[] = +struct SToken +{ + TTemplatizerToken Token; + const char* Text; +}; + +SToken SimpleTokens[] = { { BlocStart, "{" }, { BlocEnd, "}" }, From cd822bc0b43b90b3046d93c63a3ef67191ad251b Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 19 Sep 2010 18:49:03 +0200 Subject: [PATCH 04/28] Fixed: Display of .h files in generated projects --- code/nel/src/3d/CMakeLists.txt | 5 +++-- code/nel/src/cegui/CMakeLists.txt | 5 +++-- code/nel/src/georges/CMakeLists.txt | 9 ++++----- code/nel/src/ligo/CMakeLists.txt | 3 ++- code/nel/src/logic/CMakeLists.txt | 3 ++- code/nel/src/misc/CMakeLists.txt | 3 ++- code/nel/src/net/CMakeLists.txt | 5 +++-- code/nel/src/pacs/CMakeLists.txt | 3 ++- code/nel/src/sound/CMakeLists.txt | 3 ++- code/nel/src/sound/driver/CMakeLists.txt | 3 ++- 10 files changed, 25 insertions(+), 17 deletions(-) diff --git a/code/nel/src/3d/CMakeLists.txt b/code/nel/src/3d/CMakeLists.txt index 60a776fd7..09ee80fe1 100644 --- a/code/nel/src/3d/CMakeLists.txt +++ b/code/nel/src/3d/CMakeLists.txt @@ -1,4 +1,5 @@ -FILE(GLOB SRC *.cpp *.h ../../include/nel/3d/*.h) +FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/3d/*.h) SOURCE_GROUP(Traversals FILES anim_detail_trav.cpp @@ -662,7 +663,7 @@ SOURCE_GROUP(Shadows FILES shadow_poly_receiver.cpp ../../include/nel/3d/shadow_poly_receiver.h) -NL_TARGET_LIB(nel3d ${SRC}) +NL_TARGET_LIB(nel3d ${HEADERS} ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS}) diff --git a/code/nel/src/cegui/CMakeLists.txt b/code/nel/src/cegui/CMakeLists.txt index a85381022..99fcfedf3 100644 --- a/code/nel/src/cegui/CMakeLists.txt +++ b/code/nel/src/cegui/CMakeLists.txt @@ -1,6 +1,7 @@ -FILE(GLOB SRC *.cpp ../../include/nel/cegui/*.h) +FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/cegui/*.h) -ADD_LIBRARY(nelceguirenderer SHARED ${SRC} nelceguirenderer.def) +ADD_LIBRARY(nelceguirenderer SHARED ${HEADERS} ${SRC} nelceguirenderer.def) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INC} ${CEGUI_INCLUDE_DIRS}) TARGET_LINK_LIBRARIES(nelceguirenderer nelmisc nel3d ${CEGUI_LIBRARY}) diff --git a/code/nel/src/georges/CMakeLists.txt b/code/nel/src/georges/CMakeLists.txt index 42addf38d..d3c0199d7 100644 --- a/code/nel/src/georges/CMakeLists.txt +++ b/code/nel/src/georges/CMakeLists.txt @@ -1,10 +1,9 @@ -FILE(GLOB SRC *.cpp) -FILE(GLOB PRIV_H *.h) -FILE(GLOB PUB_H ../../include/nel/georges/*.h) +FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/georges/*.h) -SOURCE_GROUP(headers FILES ${PRIV_H} ${PUB_H}) +# SOURCE_GROUP(headers FILES ${HEADERS}) -NL_TARGET_LIB(nelgeorges ${SRC}) +NL_TARGET_LIB(nelgeorges ${HEADERS} ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) diff --git a/code/nel/src/ligo/CMakeLists.txt b/code/nel/src/ligo/CMakeLists.txt index 37004ab4a..f600637b7 100644 --- a/code/nel/src/ligo/CMakeLists.txt +++ b/code/nel/src/ligo/CMakeLists.txt @@ -1,6 +1,7 @@ FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/ligo/*.h) -NL_TARGET_LIB(nelligo ${SRC}) +NL_TARGET_LIB(nelligo ${HEADERS} ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) diff --git a/code/nel/src/logic/CMakeLists.txt b/code/nel/src/logic/CMakeLists.txt index d426a4948..107c57850 100644 --- a/code/nel/src/logic/CMakeLists.txt +++ b/code/nel/src/logic/CMakeLists.txt @@ -1,6 +1,7 @@ FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/logic/*.h) -NL_TARGET_LIB(nellogic ${SRC}) +NL_TARGET_LIB(nellogic ${HEADERS} ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) diff --git a/code/nel/src/misc/CMakeLists.txt b/code/nel/src/misc/CMakeLists.txt index ef7631187..74c067755 100644 --- a/code/nel/src/misc/CMakeLists.txt +++ b/code/nel/src/misc/CMakeLists.txt @@ -1,6 +1,7 @@ FILE(GLOB SRC *.cpp *.h config_file/*.cpp config_file/*.h) +FILE(GLOB HEADERS ../../include/nel/misc/*.h) -NL_TARGET_LIB(nelmisc ${SRC}) +NL_TARGET_LIB(nelmisc ${HEADERS} ${SRC}) IF(WITH_GTK) IF(GTK2_FOUND) diff --git a/code/nel/src/net/CMakeLists.txt b/code/nel/src/net/CMakeLists.txt index 65c2ab2ac..ea68efe32 100644 --- a/code/nel/src/net/CMakeLists.txt +++ b/code/nel/src/net/CMakeLists.txt @@ -1,8 +1,9 @@ -FILE(GLOB SRC "*.cpp") +FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/net/*.h) FILE(GLOB NET_MANAGER "net_manager.*") LIST(REMOVE_ITEM SRC ${NET_MANAGER}) -NL_TARGET_LIB(nelnet ${SRC}) +NL_TARGET_LIB(nelnet ${HEADERS} ${SRC}) IF(WITH_GTK) IF(GTK2_FOUND) diff --git a/code/nel/src/pacs/CMakeLists.txt b/code/nel/src/pacs/CMakeLists.txt index 549a3e8dd..0fa059d68 100644 --- a/code/nel/src/pacs/CMakeLists.txt +++ b/code/nel/src/pacs/CMakeLists.txt @@ -1,6 +1,7 @@ FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/pacs/*.h) -NL_TARGET_LIB(nelpacs ${SRC}) +NL_TARGET_LIB(nelpacs ${HEADERS} ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) diff --git a/code/nel/src/sound/CMakeLists.txt b/code/nel/src/sound/CMakeLists.txt index 800a94634..9497357ee 100644 --- a/code/nel/src/sound/CMakeLists.txt +++ b/code/nel/src/sound/CMakeLists.txt @@ -1,6 +1,7 @@ FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../include/nel/sound/*.h) -NL_TARGET_LIB(nelsound ${SRC}) +NL_TARGET_LIB(nelsound ${HEADERS} ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) diff --git a/code/nel/src/sound/driver/CMakeLists.txt b/code/nel/src/sound/driver/CMakeLists.txt index 8969489a8..1ace250e7 100644 --- a/code/nel/src/sound/driver/CMakeLists.txt +++ b/code/nel/src/sound/driver/CMakeLists.txt @@ -1,6 +1,7 @@ FILE(GLOB SRC *.cpp *.h) +FILE(GLOB HEADERS ../../../include/nel/sound/driver/*.h) -NL_TARGET_LIB(nelsnd_lowlevel ${SRC}) +NL_TARGET_LIB(nelsnd_lowlevel ${HEADERS} ${SRC}) IF(WITH_STATIC) # Add libogg dependency only if target is static because to libvorbisfile From 3e3a987395ba6a913929f43aa19604af9248aa47 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 19 Sep 2010 19:19:23 +0200 Subject: [PATCH 05/28] Fixed: Compilation with STLport under Linux --- code/nel/include/nel/misc/common.h | 2 +- code/nel/include/nel/misc/string_common.h | 8 +++ code/nel/include/nel/misc/types_nl.h | 80 +++++++++++------------ 3 files changed, 49 insertions(+), 41 deletions(-) diff --git a/code/nel/include/nel/misc/common.h b/code/nel/include/nel/misc/common.h index 124f6bdab..6363fc25d 100644 --- a/code/nel/include/nel/misc/common.h +++ b/code/nel/include/nel/misc/common.h @@ -206,7 +206,7 @@ inline double isValidDouble (double v) #ifdef NL_OS_WINDOWS return _finite(v) && !_isnan(v); #else - return !std::isnan(v) && !std::isinf(v); + return !isnan(v) && !isinf(v); #endif } diff --git a/code/nel/include/nel/misc/string_common.h b/code/nel/include/nel/misc/string_common.h index 3597ac10e..f9d83910c 100644 --- a/code/nel/include/nel/misc/string_common.h +++ b/code/nel/include/nel/misc/string_common.h @@ -187,6 +187,10 @@ inline std::string toString(const uint32 &val) { return toString("%u", val); } inline std::string toString(const sint32 &val) { return toString("%d", val); } inline std::string toString(const uint64 &val) { return toString("%"NL_I64"u", val); } inline std::string toString(const sint64 &val) { return toString("%"NL_I64"d", val); } + +#ifdef NL_COMP_GCC +# if GCC_VERSION == 40102 + // error fix for size_t? gcc 4.1.2 requested this type instead of size_t ... inline std::string toString(const long unsigned int &val) { @@ -194,6 +198,10 @@ inline std::string toString(const long unsigned int &val) return toString((uint64)val); return toString((uint32)val); } + +# endif +#endif + #if (SIZEOF_SIZE_T) == 8 inline std::string toString(const size_t &val) { return toString("%"NL_I64"u", val); } //#else diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index a460f68dc..20118c11c 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -40,8 +40,10 @@ # define FINAL_VERSION 0 #endif // FINAL_VERSION -// Operating systems definition +// This way we know about _HAS_TR1 and _STLPORT_VERSION +#include +// Operating systems definition #ifdef _WIN32 # define NL_OS_WINDOWS # define NL_LITTLE_ENDIAN @@ -51,7 +53,6 @@ # endif # if _MSC_VER >= 1500 # define NL_COMP_VC9 -# include // This way we know about _HAS_TR1 :O # ifndef _STLPORT_VERSION // STLport doesn't depend on MS STL features # if defined(_HAS_TR1) && (_HAS_TR1 + 0) // VC9 TR1 feature pack # define NL_ISO_STDTR1_AVAILABLE @@ -88,7 +89,7 @@ # ifdef _WIN64 # define NL_OS_WIN64 # ifndef NL_NO_ASM - // Windows 64bits platform SDK compilers doesn't support inline assemblers + // Windows 64bits platform SDK compilers doesn't support inline assembler # define NL_NO_ASM # endif # endif @@ -131,9 +132,12 @@ #endif // gcc 4.1+ provides std::tr1 -#if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 1)) -# define NL_ISO_STDTR1_AVAILABLE -# define NL_ISO_STDTR1_HEADER(header) +#ifdef NL_COMP_GCC +# define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +# if GCC_VERSION > 40100 +# define NL_ISO_STDTR1_AVAILABLE +# define NL_ISO_STDTR1_HEADER(header) +# endif #endif // Remove stupid Visual C++ warnings @@ -261,22 +265,6 @@ typedef unsigned int uint; // at least 32bits (depend of processor) #define NL_I64 "I64" -#ifndef NL_ISO_STDTR1_AVAILABLE -# include -# include -# ifdef _STLP_HASH_MAP -# define CHashMap ::std::hash_map -# define CHashSet ::std::hash_set -# define CHashMultiMap ::std::hash_multimap -# elif defined(NL_COMP_VC7) || defined(NL_COMP_VC71) || defined(NL_COMP_VC8) || defined(NL_COMP_VC9) // VC7 through 9 -# define CHashMap stdext::hash_map -# define CHashSet stdext::hash_set -# define CHashMultiMap stdext::hash_multimap -# else -# pragma error("You need to update your compiler") -# endif -#endif // NL_ISO_STDTR1_AVAILABLE - #elif defined (NL_OS_UNIX) #include @@ -284,20 +272,41 @@ typedef unsigned int uint; // at least 32bits (depend of processor) #include typedef int8_t sint8; -typedef u_int8_t uint8; +typedef uint8_t uint8; typedef int16_t sint16; -typedef u_int16_t uint16; +typedef uint16_t uint16; typedef int32_t sint32; -typedef u_int32_t uint32; -typedef long long int sint64; -typedef unsigned long long int uint64; +typedef uint32_t uint32; +typedef int64_t sint64; +typedef uint64_t uint64; typedef int sint; // at least 32bits (depend of processor) typedef unsigned int uint; // at least 32bits (depend of processor) #define NL_I64 "ll" -#if defined(NL_COMP_GCC) && !defined(NL_ISO_STDTR1_AVAILABLE) // GCC4 +#endif // NL_OS_UNIX + +// CHashMap, CHashSet and CHashMultiMap definitions +#if defined(_STLPORT_VERSION) // STLport detected +# include +# include +# ifdef _STLP_HASH_MAP +# define CHashMap ::std::hash_map +# define CHashSet ::std::hash_set +# define CHashMultiMap ::std::hash_multimap +# endif // _STLP_HASH_MAP +#elif defined(NL_ISO_STDTR1_AVAILABLE) // use std::tr1 for CHash* classes, if available (gcc 4.1+ and VC9 with TR1 feature pack) +# include NL_ISO_STDTR1_HEADER(unordered_map) +# include NL_ISO_STDTR1_HEADER(unordered_set) +# define CHashMap std::tr1::unordered_map +# define CHashSet std::tr1::unordered_set +# define CHashMultiMap std::tr1::unordered_multimap +#elif defined(NL_COMP_VC7) || defined(NL_COMP_VC71) || defined(NL_COMP_VC8) || defined(NL_COMP_VC9) // VC7 through 9 +# define CHashMap stdext::hash_map +# define CHashSet stdext::hash_set +# define CHashMultiMap stdext::hash_multimap +#elif defined(NL_COMP_GCC) // GCC4 # include # include # define CHashMap ::__gnu_cxx::hash_map @@ -324,18 +333,9 @@ template<> struct hash } // END NAMESPACE __GNU_CXX -#endif // NL_COMP_GCC && !NL_ISO_STDTR1_AVAILABLE - -#endif // NL_OS_UNIX - -// use std::tr1 for CHash* classes, if available (gcc 4.1+ and VC9 with TR1 feature pack) -#ifdef NL_ISO_STDTR1_AVAILABLE -# include NL_ISO_STDTR1_HEADER(unordered_map) -# include NL_ISO_STDTR1_HEADER(unordered_set) -# define CHashMap std::tr1::unordered_map -# define CHashSet std::tr1::unordered_set -# define CHashMultiMap std::tr1::unordered_multimap -#endif +#else +# pragma error("You need to update your compiler") +#endif // _STLPORT_VERSION /** * \typedef ucchar From 4c9d9f593bd9e44eb55dcf098693b483aa0a5387 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 19 Sep 2010 23:12:57 +0200 Subject: [PATCH 06/28] Fixed: Compile error with mutex.h on Windows. --- code/nel/include/nel/misc/mutex.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/nel/include/nel/misc/mutex.h b/code/nel/include/nel/misc/mutex.h index a5cfd2582..009840e3b 100644 --- a/code/nel/include/nel/misc/mutex.h +++ b/code/nel/include/nel/misc/mutex.h @@ -19,6 +19,7 @@ #include "types_nl.h" #include "time_nl.h" +#include "common.h" #include #ifdef NL_OS_UNIX @@ -280,7 +281,7 @@ public: break; #ifdef NL_OS_WINDOWS - Sleep (wait_time); + nlSleep (wait_time); #else //std::cout << "Sleeping i=" << i << std::endl; usleep( wait_time*1000 ); @@ -390,7 +391,7 @@ public: break; #ifdef NL_OS_WINDOWS - Sleep (wait_time); + nlSleep (wait_time); #else //std::cout << "Sleeping i=" << i << std::endl; usleep( wait_time*1000 ); From 2f61e2200cd24071a2f1d9d25be9c0dc0f3e355a Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 19 Sep 2010 23:14:07 +0200 Subject: [PATCH 07/28] Changed: #964 Allow setting hls info dir in panoply config. --- .../tools/3d/panoply_maker/panoply_maker.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/code/nel/tools/3d/panoply_maker/panoply_maker.cpp b/code/nel/tools/3d/panoply_maker/panoply_maker.cpp index 933ec4e0d..9f51d86f7 100644 --- a/code/nel/tools/3d/panoply_maker/panoply_maker.cpp +++ b/code/nel/tools/3d/panoply_maker/panoply_maker.cpp @@ -38,7 +38,7 @@ using namespace std; string DivideBy2Dir= "/d4/"; -string HlsInfoDir= "hlsInfo/"; +//string HlsInfoDir= "hlsInfo/"; // ======================================================================================================== @@ -57,6 +57,7 @@ struct CBuildInfo { std::string InputPath; std::string OutputPath; + std::string HlsInfoPath; std::string CachePath; std::vector BitmapExtensions; // the supported extension for bitmaps std::string OutputFormat; // png or tga @@ -277,6 +278,16 @@ int main(int argc, char* argv[]) { } + /// hls info path + try + { + bi.HlsInfoPath = NLMISC::CPath::standardizePath(cf.getVar("hls_info_path").asString()); + } + catch (NLMISC::EUnknownVar &) + { + bi.HlsInfoPath = "hlsInfo/"; + } + /// output try { @@ -533,7 +544,7 @@ static bool CheckIfNeedRebuildColoredVersionForOneBitmap(const CBuildInfo &bi, c } // get hls info version that is in the cache. if not possible, must rebuild - std::string outputHLSInfo = HlsInfoDir + fileName + ".hlsinfo"; + std::string outputHLSInfo = bi.HlsInfoPath + fileName + ".hlsinfo"; std::string cacheHLSInfo = bi.CachePath + fileName + ".hlsinfo"; if (!NLMISC::CFile::fileExists(cacheHLSInfo.c_str()) ) return true; @@ -843,13 +854,13 @@ static void BuildColoredVersionForOneBitmap(const CBuildInfo &bi, const std::str // **** save the TMP hlsInfo NLMISC::COFile os; - if (os.open(HlsInfoDir + fileName + ".hlsinfo")) + if (os.open(bi.HlsInfoPath + fileName + ".hlsinfo")) { os.serial(hlsInfo); } else { - nlwarning(("Couldn't write " + HlsInfoDir + fileName + ".hlsinfo").c_str()); + nlwarning(("Couldn't write " + bi.HlsInfoPath + fileName + ".hlsinfo").c_str()); } } From 74b6430afbb52ab08101798fc897fac423e16c6e Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 19 Sep 2010 23:14:50 +0200 Subject: [PATCH 08/28] Fixed: Compile error with object viewer exe missing windows.h --- code/nel/tools/3d/object_viewer_exe/std_afx.h | 1 + 1 file changed, 1 insertion(+) diff --git a/code/nel/tools/3d/object_viewer_exe/std_afx.h b/code/nel/tools/3d/object_viewer_exe/std_afx.h index 44b1cfadd..e666c4bc2 100644 --- a/code/nel/tools/3d/object_viewer_exe/std_afx.h +++ b/code/nel/tools/3d/object_viewer_exe/std_afx.h @@ -25,5 +25,6 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX +#include #endif From f157610a73332a3ea18bd630dece5ce8a8fe19b6 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 19 Sep 2010 23:16:55 +0200 Subject: [PATCH 09/28] Changed: #964 Added wmap tools to ryzom tool sln and fixed stuff. --- code/ryzom/tools/all.sln | 86 +++++++---- code/ryzom/tools/patch_gen/patch_gen.vcproj | 133 ++++++++---------- .../ryzom/tools/server/ai_build_wmap/main.cpp | 3 + .../build_world_packed_col.cfg | 4 +- .../build_world_packed_col.cpp | 3 +- 5 files changed, 118 insertions(+), 111 deletions(-) diff --git a/code/ryzom/tools/all.sln b/code/ryzom/tools/all.sln index 18527d199..2dadc4360 100644 --- a/code/ryzom/tools/all.sln +++ b/code/ryzom/tools/all.sln @@ -210,24 +210,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_items_2_csv", "leveld {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "master", "leveldesign\master\master.vcproj", "{D53B297E-01B6-4E9A-9753-BBF18A6EB332}" - ProjectSection(ProjectDependencies) = postProject - {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} - {577230FF-399C-4C9D-9495-CEC106326441} = {577230FF-399C-4C9D-9495-CEC106326441} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "georges_plugin_test", "leveldesign\georges_plugin_test\georges_plugin_test.vcproj", "{36DE80C1-0519-4177-847C-17A8D846D365}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "georges_convert", "leveldesign\georges_convert\georges_convert.vcproj", "{3539CE53-2596-4BC4-A177-045BBAFF4A82}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "export", "leveldesign\export\export.vcproj", "{577230FF-399C-4C9D-9495-CEC106326441}" - ProjectSection(ProjectDependencies) = postProject - {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} - {9D284C6B-BE12-4549-87E5-2337D64F31BE} = {9D284C6B-BE12-4549-87E5-2337D64F31BE} - {2B48BE83-108B-4E8E-8A55-6627CF09AC5A} = {2B48BE83-108B-4E8E-8A55-6627CF09AC5A} - {1DDC11C7-AF79-40F3-A6D4-F84BA8644B5C} = {1DDC11C7-AF79-40F3-A6D4-F84BA8644B5C} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "patch_gen", "patch_gen\patch_gen.vcproj", "{E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}" ProjectSection(ProjectDependencies) = postProject {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} @@ -235,6 +221,30 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "patch_gen", "patch_gen\patc {67AF56A4-A228-4BFB-BDA8-026CBEDE8BF9} = {67AF56A4-A228-4BFB-BDA8-026CBEDE8BF9} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "build_world_packed_col", "server\build_world_packed_col\build_world_packed_col.vcproj", "{55C4C415-AF43-4092-818A-FD758EF0AD29}" + ProjectSection(ProjectDependencies) = postProject + {792FF016-D048-44E3-BDA8-59C00D1480F7} = {792FF016-D048-44E3-BDA8-59C00D1480F7} + {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52} = {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52} + {4B320F68-0B9B-4065-A2ED-AF5D4B163006} = {4B320F68-0B9B-4065-A2ED-AF5D4B163006} + {9D284C6B-BE12-4549-87E5-2337D64F31BE} = {9D284C6B-BE12-4549-87E5-2337D64F31BE} + {C5253970-8728-4A6F-8BF2-E1D9CF0F3861} = {C5253970-8728-4A6F-8BF2-E1D9CF0F3861} + {2B48BE83-108B-4E8E-8A55-6627CF09AC5A} = {2B48BE83-108B-4E8E-8A55-6627CF09AC5A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ai_share", "..\server\src\ai_share\ai_share.vcproj", "{E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_share", "..\server\src\server_share\server_share.vcproj", "{792FF016-D048-44E3-BDA8-59C00D1480F7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ai_build_wmap", "server\ai_build_wmap\ai_build_wmap.vcproj", "{E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}" + ProjectSection(ProjectDependencies) = postProject + {792FF016-D048-44E3-BDA8-59C00D1480F7} = {792FF016-D048-44E3-BDA8-59C00D1480F7} + {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} = {44B21233-EFCC-4825-B5E5-3A3BD6CC5516} + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52} = {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52} + {9D284C6B-BE12-4549-87E5-2337D64F31BE} = {9D284C6B-BE12-4549-87E5-2337D64F31BE} + {C5253970-8728-4A6F-8BF2-E1D9CF0F3861} = {C5253970-8728-4A6F-8BF2-E1D9CF0F3861} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -540,14 +550,6 @@ Global {B253223D-5E94-41B7-92A1-4E27461C91F8}.Release|Win32.Build.0 = Release|Win32 {B253223D-5E94-41B7-92A1-4E27461C91F8}.Release|x64.ActiveCfg = Release|x64 {B253223D-5E94-41B7-92A1-4E27461C91F8}.Release|x64.Build.0 = Release|x64 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Debug|Win32.ActiveCfg = Debug|Win32 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Debug|Win32.Build.0 = Debug|Win32 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Debug|x64.ActiveCfg = Debug|x64 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Debug|x64.Build.0 = Debug|x64 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Release|Win32.ActiveCfg = Release|Win32 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Release|Win32.Build.0 = Release|Win32 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Release|x64.ActiveCfg = Release|x64 - {D53B297E-01B6-4E9A-9753-BBF18A6EB332}.Release|x64.Build.0 = Release|x64 {36DE80C1-0519-4177-847C-17A8D846D365}.Debug|Win32.ActiveCfg = Debug|Win32 {36DE80C1-0519-4177-847C-17A8D846D365}.Debug|Win32.Build.0 = Debug|Win32 {36DE80C1-0519-4177-847C-17A8D846D365}.Debug|x64.ActiveCfg = Debug|x64 @@ -563,14 +565,6 @@ Global {3539CE53-2596-4BC4-A177-045BBAFF4A82}.Release|Win32.Build.0 = Release|Win32 {3539CE53-2596-4BC4-A177-045BBAFF4A82}.Release|x64.ActiveCfg = Release|x64 {3539CE53-2596-4BC4-A177-045BBAFF4A82}.Release|x64.Build.0 = Release|x64 - {577230FF-399C-4C9D-9495-CEC106326441}.Debug|Win32.ActiveCfg = Debug|Win32 - {577230FF-399C-4C9D-9495-CEC106326441}.Debug|Win32.Build.0 = Debug|Win32 - {577230FF-399C-4C9D-9495-CEC106326441}.Debug|x64.ActiveCfg = Debug|x64 - {577230FF-399C-4C9D-9495-CEC106326441}.Debug|x64.Build.0 = Debug|x64 - {577230FF-399C-4C9D-9495-CEC106326441}.Release|Win32.ActiveCfg = Release|Win32 - {577230FF-399C-4C9D-9495-CEC106326441}.Release|Win32.Build.0 = Release|Win32 - {577230FF-399C-4C9D-9495-CEC106326441}.Release|x64.ActiveCfg = Release|x64 - {577230FF-399C-4C9D-9495-CEC106326441}.Release|x64.Build.0 = Release|x64 {E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}.Debug|Win32.ActiveCfg = Debug|Win32 {E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}.Debug|Win32.Build.0 = Debug|Win32 {E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}.Debug|x64.ActiveCfg = Debug|x64 @@ -579,6 +573,38 @@ Global {E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}.Release|Win32.Build.0 = Release|Win32 {E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}.Release|x64.ActiveCfg = Release|x64 {E6D3EADB-D6E4-42FC-87A3-4A98A6AAA67A}.Release|x64.Build.0 = Release|x64 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Debug|Win32.ActiveCfg = Debug|Win32 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Debug|Win32.Build.0 = Debug|Win32 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Debug|x64.ActiveCfg = Debug|x64 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Debug|x64.Build.0 = Debug|x64 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Release|Win32.ActiveCfg = Release|Win32 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Release|Win32.Build.0 = Release|Win32 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Release|x64.ActiveCfg = Release|x64 + {55C4C415-AF43-4092-818A-FD758EF0AD29}.Release|x64.Build.0 = Release|x64 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Debug|Win32.ActiveCfg = Debug|Win32 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Debug|Win32.Build.0 = Debug|Win32 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Debug|x64.ActiveCfg = Debug|x64 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Debug|x64.Build.0 = Debug|x64 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Release|Win32.ActiveCfg = Release|Win32 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Release|Win32.Build.0 = Release|Win32 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Release|x64.ActiveCfg = Release|x64 + {E5AB1E62-031D-4C9C-99CC-AD1A24D20E52}.Release|x64.Build.0 = Release|x64 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Debug|Win32.ActiveCfg = Debug|Win32 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Debug|Win32.Build.0 = Debug|Win32 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Debug|x64.ActiveCfg = Debug|x64 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Debug|x64.Build.0 = Debug|x64 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Release|Win32.ActiveCfg = Release|Win32 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Release|Win32.Build.0 = Release|Win32 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Release|x64.ActiveCfg = Release|x64 + {792FF016-D048-44E3-BDA8-59C00D1480F7}.Release|x64.Build.0 = Release|x64 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Debug|Win32.ActiveCfg = Debug|Win32 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Debug|Win32.Build.0 = Debug|Win32 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Debug|x64.ActiveCfg = Debug|x64 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Debug|x64.Build.0 = Debug|x64 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Release|Win32.ActiveCfg = Release|Win32 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Release|Win32.Build.0 = Release|Win32 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Release|x64.ActiveCfg = Release|x64 + {E4E8363C-14E3-4C4E-9E65-CA3465DCD5D8}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/code/ryzom/tools/patch_gen/patch_gen.vcproj b/code/ryzom/tools/patch_gen/patch_gen.vcproj index ecd170b15..4959234d9 100644 --- a/code/ryzom/tools/patch_gen/patch_gen.vcproj +++ b/code/ryzom/tools/patch_gen/patch_gen.vcproj @@ -19,11 +19,9 @@ LookupNoRecursePath; sint main(sint argc, char **argv) { + createDebug(); + CConfigFile cf; CConfigFile::CVar *var; diff --git a/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cfg b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cfg index 7324a35a8..810d92163 100644 --- a/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cfg +++ b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cfg @@ -4,10 +4,10 @@ OutputPath = "D:/islands_col_meshes"; EntryPointsFile = "r2_islands.xml"; SearchPaths = { -"r:/code/ryzom/data", +"r:/code/ryzom/client/data", "D:/islands_list", "D:/cwmap", -"r:/code/ryzom/data_common/r2" +"r:/code/ryzom/common/data_common/r2" }; Fly = 1; diff --git a/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp index ee08eba42..d10fffbf8 100644 --- a/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp +++ b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp @@ -69,6 +69,7 @@ static void getIslandsInside(sint32 xmin, sint32 xmax, sint32 ymin, sint32 ymax, int main(int argc, char* argv[]) { ////////////////// + createDebug(); registerSerial3d(); if (argc != 2) @@ -187,7 +188,7 @@ int main(int argc, char* argv[]) // the same zones were found -> now check their dates against the island one uint32 packedIslandDate = CFile::getFileModificationDate(islandPath); mustRebuild = false; - for(uint l = 0; l < presentZonePathes.size(); ++l) + for(uint k = 0; k < presentZonePathes.size(); ++k) { if (CFile::getFileModificationDate(presentZonePathes[l]) > packedIslandDate) { From 59e5c03a831e3ea4352a1b9b8e8cfd5ff7d566ed Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 19 Sep 2010 23:18:29 +0200 Subject: [PATCH 10/28] Changed: #964 Fix crash with hls texture bank generation when memcpy of 0 bytes at end of allocated memory. --- code/nel/src/3d/hls_texture_bank.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/src/3d/hls_texture_bank.cpp b/code/nel/src/3d/hls_texture_bank.cpp index fe8eee1a5..f938a3ccd 100644 --- a/code/nel/src/3d/hls_texture_bank.cpp +++ b/code/nel/src/3d/hls_texture_bank.cpp @@ -72,9 +72,9 @@ void CHLSTextureBank::addTextureInstance(const std::string &name, uint32 color uint32 colSize= (uint32)cols.size()*sizeof(CHLSColorDelta); _TextureInstanceData.resize(_TextureInstanceData.size() + nameSize + colSize); // copy name - memcpy(&_TextureInstanceData[textInst._DataIndex], nameLwr.c_str(), nameSize); + if (nameSize != 0) memcpy(&_TextureInstanceData[textInst._DataIndex], nameLwr.c_str(), nameSize); // copy cols - memcpy(&_TextureInstanceData[textInst._DataIndex+nameSize], &cols[0], colSize); + if (colSize != 0) memcpy(&_TextureInstanceData[textInst._DataIndex+nameSize], &cols[0], colSize); // add the instance. _TextureInstances.push_back(textInst); From 6cdc77986e5e1ff2b2b434761b665500aebb850c Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 19 Sep 2010 23:31:28 +0200 Subject: [PATCH 11/28] Fixed: #929 Gamedata build pipeline works mostly. Install writes to seperate dir instead of directly to dev client data dir. Added scripts to build dev client linked to install dir, as well as client install with bnp and patches generation, and shard data install. No more generated buildsite on repo. Panoply build added to map process. Fixed an issue with rbank build. Implemented sheets and sheet id building processes. Fixed some lookup paths. Implemented wmap build process. Added gamedev and data_common to install output. Added projects for characters and maps, sheets, indoors, and projects for fyros, matis, zorai and tryker continents to export shape and texture data. --- code/nel/tools/build_gamedata/0_setup.py | 128 ++++- code/nel/tools/build_gamedata/4_data_shard.py | 64 +++ code/nel/tools/build_gamedata/5_client_dev.py | 75 +++ .../tools/build_gamedata/6_client_patch.py | 149 ++++++ .../tools/build_gamedata/7_client_install.py | 93 ++++ .../build_gamedata/configuration/buildsite.py | 65 --- .../build_gamedata/configuration/scripts.py | 148 ++++-- .../build_gamedata/configuration/tools.py | 8 +- .../build_gamedata/export_build_install.py | 2 +- .../ecosystem_project_template/directories.py | 40 +- .../ecosystem_project_template/process.py | 4 + .../generate_simple_max_exporters.py | 12 +- .../generate_tagged_max_exporters.py | 8 +- .../simple_max_exporter_template/0_setup.py | 2 +- .../simple_max_exporter_template/3_install.py | 6 +- .../tagged_max_exporter_template/0_setup.py | 2 +- .../tagged_max_exporter_template/3_install.py | 6 +- .../build_gamedata/install_client_dev.py | 31 ++ .../build_gamedata/install_data_shard.py | 31 ++ .../tools/build_gamedata/processes/0_setup.py | 2 +- .../processes/_dummy/0_setup.py | 2 +- .../processes/_dummy/3_install.py | 12 +- .../processes/ai_wmap/0_setup.py | 98 ++++ .../processes/ai_wmap/1_export.py | 49 ++ .../processes/ai_wmap/2_build.py | 95 ++++ .../processes/ai_wmap/3_install.py | 57 +++ .../build_gamedata/processes/anim/0_setup.py | 2 +- .../build_gamedata/processes/anim/1_export.py | 2 +- .../processes/anim/3_install.py | 2 +- .../build_gamedata/processes/cegui/0_setup.py | 2 +- .../processes/cegui/3_install.py | 2 +- .../processes/clodbank/0_setup.py | 2 +- .../processes/clodbank/1_export.py | 2 +- .../processes/clodbank/3_install.py | 2 +- .../build_gamedata/processes/copy/0_setup.py | 76 +++ .../build_gamedata/processes/copy/1_export.py | 49 ++ .../build_gamedata/processes/copy/2_build.py | 49 ++ .../processes/copy/3_install.py | 85 ++++ .../processes/displace/0_setup.py | 2 +- .../processes/displace/3_install.py | 8 +- .../processes/farbank/0_setup.py | 2 +- .../processes/farbank/3_install.py | 4 +- .../build_gamedata/processes/font/0_setup.py | 2 +- .../processes/font/3_install.py | 12 +- .../build_gamedata/processes/ig/0_setup.py | 2 +- .../build_gamedata/processes/ig/3_install.py | 2 +- .../processes/ig_light/0_setup.py | 2 +- .../processes/ig_light/3_install.py | 2 +- .../processes/interface/0_setup.py | 2 +- .../processes/interface/1_export.py | 11 +- .../processes/interface/3_install.py | 12 +- .../build_gamedata/processes/map/0_setup.py | 13 +- .../build_gamedata/processes/map/2_build.py | 128 +++-- .../build_gamedata/processes/map/3_install.py | 58 ++- .../processes/pacs_prim/0_setup.py | 2 +- .../processes/pacs_prim/1_export.py | 2 +- .../processes/pacs_prim/3_install.py | 6 +- .../build_gamedata/processes/ps/0_setup.py | 2 +- .../build_gamedata/processes/ps/3_install.py | 2 +- .../build_gamedata/processes/rbank/0_setup.py | 2 +- .../processes/rbank/1_export.py | 2 +- .../processes/rbank/3_install.py | 18 +- .../build_gamedata/processes/shape/0_setup.py | 11 +- .../build_gamedata/processes/shape/2_build.py | 4 +- .../processes/shape/3_install.py | 18 +- .../processes/sheet_id/0_setup.py | 4 +- .../processes/sheet_id/2_build.py | 5 +- .../processes/sheet_id/3_install.py | 7 - .../processes/sheets/0_setup.py | 6 +- .../processes/sheets/2_build.py | 30 +- .../processes/sheets/3_install.py | 6 +- .../build_gamedata/processes/skel/0_setup.py | 2 +- .../build_gamedata/processes/skel/1_export.py | 2 +- .../processes/skel/3_install.py | 6 +- .../processes/smallbank/0_setup.py | 2 +- .../processes/smallbank/3_install.py | 6 +- .../build_gamedata/processes/sound/0_setup.py | 4 +- .../processes/sound/3_install.py | 8 +- .../build_gamedata/processes/swt/0_setup.py | 2 +- .../build_gamedata/processes/swt/1_export.py | 2 +- .../build_gamedata/processes/swt/3_install.py | 6 +- .../build_gamedata/processes/tiles/0_setup.py | 2 +- .../processes/tiles/3_install.py | 4 +- .../build_gamedata/processes/veget/0_setup.py | 2 +- .../processes/veget/1_export.py | 2 +- .../processes/veget/3_install.py | 6 +- .../processes/vegetset/0_setup.py | 2 +- .../processes/vegetset/3_install.py | 6 +- .../build_gamedata/processes/zone/0_setup.py | 2 +- .../build_gamedata/processes/zone/1_export.py | 2 +- .../processes/zone_light/0_setup.py | 6 +- .../processes/zone_light/3_install.py | 6 +- .../nel/tools/build_gamedata/work_in_progress | 0 .../tools/build_gamedata/work_in_progress | 0 .../workspace/common/cfg/directories.py | 82 +++ .../workspace/common/cfg/process.py | 37 ++ .../common/characters/anim_builder.cfg | 15 + .../common/characters/directories.py | 188 +++++++ .../workspace/common/characters/process.py | 108 ++++ .../common/characters_maps_hr/directories.py | 78 +++ .../characters_maps_hr/panoply_common.cfg | 64 +++ .../characters_maps_hr/panoply_fyros.cfg | 31 ++ .../characters_maps_hr/panoply_matis.cfg | 31 ++ .../characters_maps_hr/panoply_tryker.cfg | 31 ++ .../characters_maps_hr/panoply_zorai.cfg | 19 + .../common/characters_maps_hr/process.py | 81 +++ .../common/construction/directories.py | 35 +- .../workspace/common/construction/process.py | 4 + .../common/data_common/directories.py | 63 +++ .../workspace/common/data_common/process.py | 41 ++ .../workspace/common/exedll/directories.py | 85 ++++ .../workspace/common/exedll/process.py | 37 ++ .../workspace/common/fauna/directories.py | 35 +- .../workspace/common/fauna/process.py | 4 + .../workspace/common/fonts/directories.py | 2 +- .../workspace/common/gamedev/directories.py | 63 +++ .../workspace/common/gamedev/process.py | 41 ++ .../workspace/common/interface/directories.py | 6 +- .../workspace/common/interface/process.py | 4 + .../common/leveldesign/directories.py | 77 +++ .../workspace/common/leveldesign/process.py | 44 ++ .../workspace/common/objects/directories.py | 29 +- .../workspace/common/objects/process.py | 4 + .../workspace/common/outgame/directories.py | 35 +- .../workspace/common/outgame/process.py | 4 + .../workspace/common/sfx/directories.py | 31 +- .../workspace/common/sfx/process.py | 4 + .../workspace/common/sky/directories.py | 35 +- .../workspace/common/sky/process.py | 4 + .../workspace/continents/fyros/directories.py | 131 +++++ .../workspace/continents/fyros/process.py | 81 +++ .../continents/indoors/directories.py | 262 ++++++++++ .../workspace/continents/indoors/process.py | 167 +++++++ .../continents/indoors/properties_base.cfg | 98 ++++ .../continents/indoors/properties_draft.cfg | 93 ++++ .../continents/indoors/properties_final.cfg | 93 ++++ .../workspace/continents/matis/directories.py | 124 +++++ .../workspace/continents/matis/process.py | 81 +++ .../continents/newbieland/directories.py | 54 +- .../continents/newbieland/process.py | 12 +- .../continents/newbieland/properties_base.cfg | 4 + .../continents/tryker/directories.py | 126 +++++ .../workspace/continents/tryker/process.py | 81 +++ .../workspace/continents/zorai/directories.py | 124 +++++ .../workspace/continents/zorai/process.py | 81 +++ .../ecosystems/desert/directories.py | 42 +- .../workspace/ecosystems/desert/process.py | 6 +- .../ecosystems/jungle/directories.py | 42 +- .../workspace/ecosystems/jungle/process.py | 6 +- .../ecosystems/lacustre/directories.py | 42 +- .../workspace/ecosystems/lacustre/process.py | 6 +- .../ecosystems/primes_racines/directories.py | 42 +- .../ecosystems/primes_racines/process.py | 6 +- .../build_gamedata/workspace/projects.py | 472 +++++++++++++++++- 154 files changed, 5219 insertions(+), 442 deletions(-) create mode 100644 code/nel/tools/build_gamedata/4_data_shard.py create mode 100644 code/nel/tools/build_gamedata/5_client_dev.py create mode 100644 code/nel/tools/build_gamedata/6_client_patch.py create mode 100644 code/nel/tools/build_gamedata/7_client_install.py delete mode 100644 code/nel/tools/build_gamedata/configuration/buildsite.py create mode 100644 code/nel/tools/build_gamedata/install_client_dev.py create mode 100644 code/nel/tools/build_gamedata/install_data_shard.py create mode 100644 code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py create mode 100644 code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py create mode 100644 code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py create mode 100644 code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py create mode 100644 code/nel/tools/build_gamedata/processes/copy/0_setup.py create mode 100644 code/nel/tools/build_gamedata/processes/copy/1_export.py create mode 100644 code/nel/tools/build_gamedata/processes/copy/2_build.py create mode 100644 code/nel/tools/build_gamedata/processes/copy/3_install.py delete mode 100644 code/nel/tools/build_gamedata/work_in_progress delete mode 100644 code/ryzom/tools/build_gamedata/work_in_progress create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/cfg/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/cfg/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters/anim_builder.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_common.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_fyros.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_matis.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_tryker.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_zorai.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/exedll/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/gamedev/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/gamedev/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/leveldesign/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/common/leveldesign/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/fyros/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/fyros/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/indoors/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/indoors/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_base.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_draft.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_final.cfg create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/matis/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/matis/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/tryker/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/tryker/process.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/zorai/directories.py create mode 100644 code/ryzom/tools/build_gamedata/workspace/continents/zorai/process.py diff --git a/code/nel/tools/build_gamedata/0_setup.py b/code/nel/tools/build_gamedata/0_setup.py index 9aa00a685..d921d03f4 100644 --- a/code/nel/tools/build_gamedata/0_setup.py +++ b/code/nel/tools/build_gamedata/0_setup.py @@ -31,9 +31,105 @@ if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") from scripts import * -from buildsite import * +try: + from buildsite import * +except ImportError: + printLog(log, "*** FIRST RUN ***") from tools import * +try: + BuildQuality +except NameError: + BuildQuality = 1 +try: + ToolDirectories +except NameError: + ToolDirectories = [ 'R:/code/nel', 'R:/code/ryzom/tools' ] +try: + ToolSuffix +except NameError: + ToolSuffix = "_r.exe" +try: + ScriptDirectory +except NameError: + ScriptDirectory = "R:/code/nel/tools/build_gamedata" +try: + WorkspaceDirectory +except NameError: + WorkspaceDirectory = "R:/code/ryzom/tools/build_gamedata/workspace" +try: + DatabaseDirectory +except NameError: + DatabaseDirectory = "W:/database" +try: + ExportBuildDirectory +except NameError: + ExportBuildDirectory = "W:/export" +try: + InstallDirectory +except NameError: + InstallDirectory = "W:/install" +try: + DataShardDirectory +except NameError: + DataShardDirectory = "R:/code/ryzom/server/data_shard" +try: + ClientDevDirectory +except NameError: + ClientDevDirectory = "W:/client_dev" +try: + ClientPatchDirectory +except NameError: + ClientPatchDirectory = "W:/client_patch" +try: + ClientInstallDirectory +except NameError: + ClientInstallDirectory = "W:/client_install" +try: + LeveldesignDirectory +except NameError: + LeveldesignDirectory = "L:/leveldesign" +try: + LeveldesignDfnDirectory +except NameError: + LeveldesignDfnDirectory = "L:/leveldesign/dfn" +try: + LeveldesignWorldDirectory +except NameError: + LeveldesignWorldDirectory = "L:/leveldesign/world" +try: + PrimitivesDirectory +except NameError: + PrimitivesDirectory = "L:/primitives" +try: + GamedevDirectory +except NameError: + GamedevDirectory = "R:/code/ryzom/client/data/gamedev" +try: + DataCommonDirectory +except NameError: + DataCommonDirectory = "R:/code/ryzom/common/data_common" +try: + WindowsExeDllCfgDirectories +except NameError: + WindowsExeDllCfgDirectories = [ 'C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/redist/x86', 'D:/source/external_local/bin/x86', 'D:/source/external_shared/bin/x86', 'R:/code/nel/lib', 'R:/code/ryzom/bin', 'R:/code/ryzom/client', 'R:/code/ryzom/tools/client/client_config/bin' ] +try: + MaxAvailable +except NameError: + MaxAvailable = 1 +try: + MaxDirectory +except NameError: + MaxDirectory = "C:/Program Files (x86)/Autodesk/3ds Max 2010" +try: + MaxUserDirectory +except NameError: + MaxUserDirectory = "C:/Users/Kaetemi/AppData/Local/Autodesk/3dsMax/2010 - 32bit/enu" +try: + MaxExecutable +except NameError: + MaxExecutable = "3dsmax.exe" + printLog(log, "") printLog(log, "-------") printLog(log, "--- Setup build site") @@ -52,10 +148,24 @@ ScriptDirectory = askVar(log, "Script Directory", os.getcwd().replace("\\", "/") WorkspaceDirectory = askVar(log, "Workspace Directory", WorkspaceDirectory).replace("\\", "/") DatabaseDirectory = askVar(log, "Database Directory", DatabaseDirectory).replace("\\", "/") ExportBuildDirectory = askVar(log, "Export Build Directory", ExportBuildDirectory).replace("\\", "/") -ClientDataDirectory = askVar(log, "Client Data Directory", ClientDataDirectory).replace("\\", "/") +InstallDirectory = askVar(log, "Install Directory", InstallDirectory).replace("\\", "/") +DataShardDirectory = askVar(log, "Data Shard Directory", DataShardDirectory).replace("\\", "/") +ClientDevDirectory = askVar(log, "Client Dev Directory", ClientDevDirectory).replace("\\", "/") +ClientPatchDirectory = askVar(log, "Client Patch Directory", ClientPatchDirectory).replace("\\", "/") +ClientInstallDirectory = askVar(log, "Client Install Directory", ClientInstallDirectory).replace("\\", "/") LeveldesignDirectory = askVar(log, "Leveldesign Directory", LeveldesignDirectory).replace("\\", "/") LeveldesignDfnDirectory = askVar(log, "Leveldesign DFN Directory", LeveldesignDfnDirectory).replace("\\", "/") LeveldesignWorldDirectory = askVar(log, "Leveldesign World Directory", LeveldesignWorldDirectory).replace("\\", "/") +PrimitivesDirectory = askVar(log, "Primitives Directory", PrimitivesDirectory).replace("\\", "/") +GamedevDirectory = askVar(log, "Gamedev Directory", GamedevDirectory).replace("\\", "/") +DataCommonDirectory = askVar(log, "Data Common Directory", DataCommonDirectory).replace("\\", "/") +WindowsExeDllCfgDirectories[0] = askVar(log, "Primary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[0]).replace("\\", "/") +WindowsExeDllCfgDirectories[1] = askVar(log, "Secondary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[1]).replace("\\", "/") +WindowsExeDllCfgDirectories[2] = askVar(log, "Tertiary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[2]).replace("\\", "/") +WindowsExeDllCfgDirectories[3] = askVar(log, "Quaternary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[3]).replace("\\", "/") +WindowsExeDllCfgDirectories[4] = askVar(log, "Quinary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[4]).replace("\\", "/") +WindowsExeDllCfgDirectories[5] = askVar(log, "Senary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[5]).replace("\\", "/") +WindowsExeDllCfgDirectories[6] = askVar(log, "Septenary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[6]).replace("\\", "/") MaxAvailable = int(askVar(log, "3dsMax Available", str(MaxAvailable))) if MaxAvailable: MaxDirectory = askVar(log, "3dsMax Directory", MaxDirectory).replace("\\", "/") @@ -111,8 +221,12 @@ sf.write("# Data build directories\n") sf.write("DatabaseDirectory = \"" + str(DatabaseDirectory) + "\"\n") sf.write("ExportBuildDirectory = \"" + str(ExportBuildDirectory) + "\"\n") sf.write("\n") -sf.write("# Client data install directory (client/data)\n") -sf.write("ClientDataDirectory = \"" + str(ClientDataDirectory) + "\"\n") +sf.write("# Install directories\n") +sf.write("InstallDirectory = \"" + str(InstallDirectory) + "\"\n") +sf.write("DataShardDirectory = \"" + str(DataShardDirectory) + "\"\n") +sf.write("ClientDevDirectory = \"" + str(ClientDevDirectory) + "\"\n") +sf.write("ClientPatchDirectory = \"" + str(ClientPatchDirectory) + "\"\n") +sf.write("ClientInstallDirectory = \"" + str(ClientInstallDirectory) + "\"\n") sf.write("\n") sf.write("# TODO: NETWORK RECONNECT NOT IMPLEMENTED :)\n") sf.write("\n") @@ -120,6 +234,12 @@ sf.write("# Leveldesign directories\n") sf.write("LeveldesignDirectory = \"" + str(LeveldesignDirectory) + "\"\n") sf.write("LeveldesignDfnDirectory = \"" + str(LeveldesignDfnDirectory) + "\"\n") sf.write("LeveldesignWorldDirectory = \"" + str(LeveldesignWorldDirectory) + "\"\n") +sf.write("PrimitivesDirectory = \"" + str(PrimitivesDirectory) + "\"\n") +sf.write("\n") +sf.write("# Misc data directories\n") +sf.write("GamedevDirectory = \"" + str(GamedevDirectory) + "\"\n") +sf.write("DataCommonDirectory = \"" + str(DataCommonDirectory) + "\"\n") +sf.write("WindowsExeDllCfgDirectories = " + str(WindowsExeDllCfgDirectories) + "\n") sf.write("\n") sf.write("# 3dsMax directives\n") sf.write("MaxAvailable = " + str(MaxAvailable) + "\n") diff --git a/code/nel/tools/build_gamedata/4_data_shard.py b/code/nel/tools/build_gamedata/4_data_shard.py new file mode 100644 index 000000000..d138242c6 --- /dev/null +++ b/code/nel/tools/build_gamedata/4_data_shard.py @@ -0,0 +1,64 @@ +#!/usr/bin/python +# +# \file 4_data_shard.py +# \brief Install to data shard +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to data shard +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to data shard") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +for dir in InstallShardDataDirectories: + printLog(log, "SHARD DIRECTORY " + dir) + mkPath(log, InstallDirectory + "/" + dir) + mkPath(log, DataShardDirectory + "/" + dir) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, DataShardDirectory + "/" + dir) +for dir in InstallShardDataCollisionsDirectories: + printLog(log, "SHARD COLLISIONS " + dir) + mkPath(log, InstallDirectory + "/" + dir) + mkPath(log, DataShardDirectory + "/collisions/" + dir) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, DataShardDirectory + "/collisions/" + dir) +printLog(log, "") + +log.close() +if os.path.isfile("4_data_shard.log"): + os.remove("4_data_shard.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_data_shard.log") +shutil.move("log.log", "4_data_shard.log") diff --git a/code/nel/tools/build_gamedata/5_client_dev.py b/code/nel/tools/build_gamedata/5_client_dev.py new file mode 100644 index 000000000..d807ebf38 --- /dev/null +++ b/code/nel/tools/build_gamedata/5_client_dev.py @@ -0,0 +1,75 @@ +#!/usr/bin/python +# +# \file 5_client_dev.py +# \brief Install to client dev +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to client dev +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to client dev") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +if not os.path.isfile(ClientDevDirectory + "/client.cfg"): + printLog(log, ">>> Generate client.cfg <<<") + cfg = open(ClientDevDirectory + "/client.cfg", "w") + cfg.write("RootConfigFilename = \"client_default.cfg\";\n") + cfg.write("PreDataPath = {\n") + cfg.write("\t\"W:/install\", \"user\", \"patch\", \"data\", \"examples\" \n") + cfg.write("};\n") + printLog(log, "") + +printLog(log, ">>> Install data <<<") +for category in InstallClientData: + if (category["UnpackTo"] != None): + printLog(log, "CATEGORY " + category["Name"]) + targetPath = ClientDevDirectory + if (category["UnpackTo"] != ""): + targetPath += "/" + category["UnpackTo"] + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + mkPath(log, InstallDirectory + "/" + package[0]) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath) +printLog(log, "") + +log.close() +if os.path.isfile("5_client_dev.log"): + os.remove("5_client_dev.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_dev.log") +shutil.move("log.log", "5_client_dev.log") diff --git a/code/nel/tools/build_gamedata/6_client_patch.py b/code/nel/tools/build_gamedata/6_client_patch.py new file mode 100644 index 000000000..7689cc404 --- /dev/null +++ b/code/nel/tools/build_gamedata/6_client_patch.py @@ -0,0 +1,149 @@ +#!/usr/bin/python +# +# \file 6_client_patch.py +# \brief Install to client patch +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to client patch +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to client patch") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Find tools +BnpMake = findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix) +PatchGen = findTool(log, ToolDirectories, PatchGenTool, ToolSuffix) +printLog(log, "") + +# Find **** HARDCODED **** WINDOWS **** tools ... TODO: fix patch_gen tool !!! +Lzma = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, "lzma.exe") +printLog(log, "LZMA " + Lzma) +XDelta = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, "xdelta.exe") +printLog(log, "XDELTA " + XDelta) +printLog(log, "") + +if BnpMake == "": + toolLogFail(log, BnpMakeTool, ToolSuffix) +elif PatchGen == "": + toolLogFail(log, PatchGenTool, ToolSuffix) +elif Lzma == "": + toolLogFail(log, "LZMA", ToolSuffix) +elif XDelta == "": + toolLogFail(log, "XDELTA", ToolSuffix) +elif os.path.dirname(Lzma) != os.path.dirname(XDelta): + printLog(log, "FAIL lzma.exe and xdelta.exe must be in the same directory") +else: + mkPath(log, ClientPatchDirectory) + productXml = ClientPatchDirectory + "/" + ProductName + ".xml" + if not os.path.isfile(productXml): + printLog(log, ">>> Create new product <<<") + subprocess.call([ PatchGen, "createNewProduct", productXml ]) + printLog(log, "") + printLog(log, ">>> Rewrite " + ProductName + ".xml <<<") # because we know better. + shutil.move(productXml, productXml + ".old") + oldCfg = open(productXml + ".old", "r") + cfg = open(productXml, "w") + inCategories = 0 + for line in oldCfg: + if not inCategories: + if line.strip() == "<_Categories>": + inCategories = 1 + cfg.write("\t<_Categories>\n") + for category in InstallClientData: + cfg.write("\t\t<_Category>\n") + cfg.write("\t\t\t<_Name type=\"STRING\" value=\"" + category["Name"] + "\"/>\n") + if category["UnpackTo"] != None: + if category["UnpackTo"] != "": + cfg.write("\t\t\t<_UnpackTo type=\"STRING\" value=\"./" + category["UnpackTo"] + "/\"/>\n") + else: + cfg.write("\t\t\t<_UnpackTo type=\"SINT32\" value=\"./\"/>\n") + cfg.write("\t\t\t<_IsOptional type=\"SINT32\" value=\"" + str(category["IsOptional"]) + "\"/>\n") + cfg.write("\t\t\t<_IsIncremental type=\"SINT32\" value=\"" + str(category["IsIncremental"]) + "\"/>\n") + for package in category["Packages"]: + if (len(package[1]) > 0): + cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[1][0] + "\"/>\n") + else: + cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[0] + ".bnp\"/>\n") + cfg.write("\t\t\n") + cfg.write("\t\n") + else: + cfg.write(line) + else: + if line.strip() == "": + inCategories = 0 + oldCfg.close() + cfg.close() + os.remove(productXml + ".old") + printLog(log, "") + printLog(log, ">>> Make bnp <<<") + targetPath = ClientPatchDirectory + "/bnp" + mkPath(log, targetPath) + for category in InstallClientData: + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + sourcePath = InstallDirectory + "/" + package[0] + mkPath(log, sourcePath) + targetBnp = targetPath + "/" + package[0] + ".bnp" + if (len(package[1]) > 0): + targetBnp = targetPath + "/" + package[1][0] + printLog(log, "TARGET " + package[1][0]) + needUpdateBnp = 1 + if (len(package) > 2): + needUpdateBnp = needUpdate(log, sourcePath + "/" + package[2], targetBnp) + else: + needUpdateBnp = needUpdateDirNoSubdirFile(log, sourcePath, targetBnp) + if (needUpdateBnp): + printLog(log, "BNP " + targetBnp) + subprocess.call([ BnpMake, "/p", sourcePath, targetPath ] + package[1]) + else: + printLog(log, "SKIP " + targetBnp) + printLog(log, "") + printLog(log, ">>> Update product <<<") + cwDir = os.getcwd().replace("\\", "/") + toolDir = os.path.dirname(Lzma).replace("\\", "/") + os.chdir(toolDir) + subprocess.call([ PatchGen, "updateProduct", productXml ]) + os.chdir(cwDir) + printLog(log, "") + + +log.close() +if os.path.isfile("6_client_patch.log"): + os.remove("6_client_patch.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_patch.log") +shutil.move("log.log", "6_client_patch.log") diff --git a/code/nel/tools/build_gamedata/7_client_install.py b/code/nel/tools/build_gamedata/7_client_install.py new file mode 100644 index 000000000..b5a5bab1f --- /dev/null +++ b/code/nel/tools/build_gamedata/7_client_install.py @@ -0,0 +1,93 @@ +#!/usr/bin/python +# +# \file 7_client_install.py +# \brief Install to client install +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install to client install +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to client install") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Find tools +BnpMake = findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix) +printLog(log, "") + +if BnpMake == "": + toolLogFail(log, BnpMakeTool, ToolSuffix) +else: + for category in InstallClientData: + printLog(log, "CATEGORY " + category["Name"]) + if (category["UnpackTo"] != None): + targetPath = ClientInstallDirectory + if (category["UnpackTo"] != ""): + targetPath += "/" + category["UnpackTo"] + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + mkPath(log, InstallDirectory + "/" + package[0]) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath) + else: + targetPath = ClientInstallDirectory + "/data" + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + sourcePath = InstallDirectory + "/" + package[0] + mkPath(log, sourcePath) + targetBnp = targetPath + "/" + package[0] + ".bnp" + if (len(package[1]) > 0): + targetBnp = targetPath + "/" + package[1][0] + printLog(log, "TARGET " + package[1][0]) + needUpdateBnp = 1 + if (len(package) > 2): + needUpdateBnp = needUpdate(log, sourcePath + "/" + package[2], targetBnp) + else: + needUpdateBnp = needUpdateDirNoSubdirFile(log, sourcePath, targetBnp) + if (needUpdateBnp): + printLog(log, "BNP " + targetBnp) + subprocess.call([ BnpMake, "/p", sourcePath, targetPath ] + package[1]) + else: + printLog(log, "SKIP " + targetBnp) +printLog(log, "") + +log.close() +if os.path.isfile("7_client_install.log"): + os.remove("7_client_install.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_install.log") +shutil.move("log.log", "7_client_install.log") diff --git a/code/nel/tools/build_gamedata/configuration/buildsite.py b/code/nel/tools/build_gamedata/configuration/buildsite.py deleted file mode 100644 index 35b585057..000000000 --- a/code/nel/tools/build_gamedata/configuration/buildsite.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/python -# -# \file site.py -# \brief Site configuration -# \date 2010-06-04-21-25-GMT -# \author Jan Boon (Kaetemi) -# Python port of game data build pipeline. -# Site configuration. -# -# NeL - MMORPG Framework -# Copyright (C) 2010 Winch Gate Property Limited -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# - - -# *** SITE INSTALLATION *** - -# Use '/' in path name, not '' -# Don't put '/' at the end of a directory name - - -# Quality option for this site (1 for BEST, 0 for DRAFT) -BuildQuality = 1 - -ToolDirectories = ['R:/code/nel', 'R:/code/ryzom/tools'] -ToolSuffix = "_r.exe" - -# Build script directory -ScriptDirectory = "W:/build_gamedata" -WorkspaceDirectory = "R:/code/ryzom/tools/build_gamedata/workspace" - -# Data build directories -DatabaseDirectory = "W:/database" -ExportBuildDirectory = "W:/export" - -# Client data install directory (client/data) -ClientDataDirectory = "S:/ryzom_client_open/user" - -# TODO: NETWORK RECONNECT NOT IMPLEMENTED :) - -# Leveldesign directories -LeveldesignDirectory = "L:/leveldesign" -LeveldesignDfnDirectory = "L:/leveldesign/dfn" -LeveldesignWorldDirectory = "L:/leveldesign/world" - -# 3dsMax directives -MaxAvailable = 1 -MaxDirectory = "C:/Program Files (x86)/Autodesk/3ds Max 2010" -MaxUserDirectory = "C:/Users/Kaetemi/AppData/Local/Autodesk/3dsMax/2010 - 32bit/enu" -MaxExecutable = "3dsmax.exe" - - -# end of file diff --git a/code/nel/tools/build_gamedata/configuration/scripts.py b/code/nel/tools/build_gamedata/configuration/scripts.py index a913815db..57eee98cb 100644 --- a/code/nel/tools/build_gamedata/configuration/scripts.py +++ b/code/nel/tools/build_gamedata/configuration/scripts.py @@ -44,7 +44,7 @@ def needUpdate(log, source, dest): else: return 0 return 1 - printLog(log, "needUpdate: source doest not exist?! " + source) + printLog(log, "MISSING " + source) return 0 def needUpdateRemoveDest(log, source, dest): @@ -56,7 +56,7 @@ def needUpdateRemoveDest(log, source, dest): else: return 0 return 1 - printLog(log, "needUpdate: source doest not exist?! " + source) + printLog(log, "MISSING " + source) return 0 def needUpdateLogRemoveDest(log, source, dest): @@ -71,45 +71,60 @@ def needUpdateLogRemoveDest(log, source, dest): return 0 printLog(log, source + " -> " + dest) return 1 - printLog(log, "needUpdate: source doest not exist?! " + source) + printLog(log, "MISSING " + source) printLog(log, "SKIP " + dest) return 0 def copyFileList(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn": - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + fileName) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + if needUpdateLogRemoveDest(log, dir_source + "/" + fileName, dir_target + "/" + fileName): + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) def copyFileListNoTree(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn": - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) def copyFileListNoTreeIfNeeded(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn" and fileName != "*.*": - srcFile = dir_source + "/" + fileName - destFile = dir_target + "/" + os.path.basename(fileName) - if needUpdateLogRemoveDest(log, srcFile, destFile): - shutil.copy(srcFile, destFile) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + srcFile = dir_source + "/" + fileName + destFile = dir_target + "/" + os.path.basename(fileName) + if needUpdateLogRemoveDest(log, srcFile, destFile): + shutil.copy(srcFile, destFile) def removeFilesRecursive(log, dir_files): files = os.listdir(dir_files) for fileName in files: - if (fileName != ".svn"): + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): if os.path.isdir(dir_files + "/" + fileName): removeFilesRecursive(log, dir_files + "/" + fileName) else: printLog(log, "RM " + dir_files + "/" + fileName) os.remove(dir_files + "/" + fileName) +def removeFilesDirsRecursive(log, dir_files): + files = os.listdir(dir_files) + for fileName in files: + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): + if os.path.isdir(dir_files + "/" + fileName): + removeFilesRecursive(log, dir_files + "/" + fileName) + else: + printLog(log, "RM " + dir_files + "/" + fileName) + os.remove(dir_files + "/" + fileName) + printLog(log, "RMDIR " + dir_files) + os.rmdir(dir_files) + def removeFilesRecursiveExt(log, dir_files, file_ext): files = os.listdir(dir_files) len_file_ext = len(file_ext) for fileName in files: - if (fileName != ".svn"): + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): if os.path.isdir(dir_files + "/" + fileName): removeFilesRecursiveExt(log, dir_files + "/" + fileName, file_ext) elif (fileName[-len_file_ext:].lower() == file_ext.lower()): @@ -120,7 +135,7 @@ def copyFilesRecursive(log, dir_source, dir_target): files = os.listdir(dir_source) mkPath(log, dir_target) for fileName in files: - if (fileName != ".svn"): + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*"): if os.path.isdir(dir_source + "/" + fileName): copyFilesRecursive(log, dir_source + "/" + fileName, dir_target + "/" + fileName) else: @@ -134,18 +149,20 @@ def copyFilesExt(log, dir_source, dir_target, file_ext): files = os.listdir(dir_source) len_file_ext = len(file_ext) for fileName in files: - if (fileName != ".svn") and (fileName[-len_file_ext:].lower() == file_ext.lower()): - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + fileName) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*") and (fileName[-len_file_ext:].lower() == file_ext.lower()): + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + fileName) + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + fileName) def copyFilesRenamePrefixExt(log, dir_source, dir_target, old_prefix, new_prefix, file_ext): files = os.listdir(dir_source) len_file_ext = len(file_ext) len_prefix = len(old_prefix) for fileName in files: - if (fileName != ".svn") and (fileName[-len_file_ext:].lower() == file_ext.lower()) and ((fileName[:len_prefix].lower() == old_prefix.lower())): - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) - shutil.copy(dir_source + "/" + fileName, dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) + if (fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*") and (fileName[-len_file_ext:].lower() == file_ext.lower()) and ((fileName[:len_prefix].lower() == old_prefix.lower())): + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) + shutil.copy(dir_source + "/" + fileName, dir_target + "/" + new_prefix + fileName[-(len(fileName) - len_prefix):]) def copyFilesExtNoSubdir(log, dir_source, dir_target, file_ext): files = findFilesNoSubdir(log, dir_source, file_ext) @@ -166,13 +183,18 @@ def copyFilesExtNoSubdirIfNeeded(log, dir_source, dir_target, file_ext): def copyFilesNoTreeIfNeeded(log, dir_source, dir_target): copyFileListNoTreeIfNeeded(log, dir_source, dir_target, os.listdir(dir_source)) +def copyFilesRecursiveNoTreeIfNeeded(log, dir_source, dir_target): + files = findFilesRecursive(log, dir_source, "") + copyFileListNoTreeIfNeeded(log, dir_source, dir_target, files) + def copyFileListExtReplaceNoTreeIfNeeded(log, dir_source, dir_target, files, file_ext, target_ext): for fileName in files: - if fileName != ".svn" and fileName != "*.*": - srcFile = dir_source + "/" + fileName - destFile = dir_target + "/" + os.path.basename(fileName)[0:-len(file_ext)] + target_ext - if needUpdateLogRemoveDest(log, srcFile, destFile): - shutil.copy(srcFile, destFile) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + srcFile = dir_source + "/" + fileName + destFile = dir_target + "/" + os.path.basename(fileName)[0:-len(file_ext)] + target_ext + if needUpdateLogRemoveDest(log, srcFile, destFile): + shutil.copy(srcFile, destFile) def copyFilesExtReplaceNoTreeIfNeeded(log, dir_source, dir_target, file_ext, target_ext): files = findFiles(log, dir_source, "", file_ext) @@ -184,20 +206,44 @@ def copyFileIfNeeded(log, srcFile, destFile): def moveFileListNoTree(log, dir_source, dir_target, files): for fileName in files: - if fileName != ".svn": - printLog(log, dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) - shutil.move(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + if (os.path.isfile(dir_source + "/" + fileName)): + printLog(log, "MOVE " + dir_source + "/" + fileName + " -> " + dir_target + "/" + os.path.basename(fileName)) + shutil.move(dir_source + "/" + fileName, dir_target + "/" + os.path.basename(fileName)) def moveFilesExtNoTree(log, dir_source, dir_target, file_ext): files = findFiles(log, dir_source, "", file_ext) moveFileListNoTree(log, dir_source, dir_target, files) +def moveFilesNoSubdir(log, dir_source, dir_target): + files = os.listdir(dir_source) + moveFileListNoTree(log, dir_source, dir_target, files) + +def moveDir(log, dir_source, dir_target): + printLog(log, "MOVE " + dir_source + " -> " + dir_target) + shutil.move(dir_source, dir_target) + +def findFilesRecursive(log, dir_where, dir_sub): + result = [ ] + files = os.listdir(dir_where + "/" + dir_sub) + for fileName in files: + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": + filePath = dir_sub + fileName + fileFull = dir_where + "/" + dir_sub + fileName + if os.path.isfile(fileFull): + result += [ filePath ] + elif os.path.isdir(fileFull): + result += findFilesRecursive(log, dir_where, filePath + "/") + else: + printLog(log, "findFilesRecursive: file not dir or file?!" + filePath) + return result + def findFiles(log, dir_where, dir_sub, file_ext): result = [ ] files = os.listdir(dir_where + "/" + dir_sub) len_file_ext = len(file_ext) for fileName in files: - if fileName != ".svn" and fileName != "*.*": + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": filePath = dir_sub + fileName fileFull = dir_where + "/" + dir_sub + fileName if os.path.isfile(fileFull): @@ -209,12 +255,15 @@ def findFiles(log, dir_where, dir_sub, file_ext): printLog(log, "findFiles: file not dir or file?!" + filePath) return result +def isLegalFileName(fileName): + return fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*" + def findFilesNoSubdir(log, dir_where, file_ext): result = [ ] files = os.listdir(dir_where) len_file_ext = len(file_ext) for fileName in files: - if fileName != ".svn" and fileName != "*.*": + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": fileFull = dir_where + "/" + fileName if os.path.isfile(fileFull): if fileName[-len_file_ext:].lower() == file_ext.lower(): @@ -226,7 +275,7 @@ def findFilesNoSubdir(log, dir_where, file_ext): def findFile(log, dir_where, file_name): files = os.listdir(dir_where) for fileName in files: - if fileName != ".svn" and fileName != "*.*": + if fileName != ".svn" and fileName != ".." and fileName != "." and fileName != "*.*": filePath = dir_where + "/" + fileName if os.path.isfile(filePath): if fileName == file_name: @@ -264,6 +313,26 @@ def needUpdateDirByTagLog(log, dir_source, ext_source, dir_dest, ext_dest): printLog(log, "SKIP " + str(skipCount) + " / " + str(len(sourceFiles)) + "; DEST " + str(len(destFiles))) return 0 +def needUpdateDirNoSubdirFile(log, dir_source, file_dest): + if not os.path.isfile(file_dest): + return 1 + destTime = os.stat(file_dest).st_mtime + sourceFiles = os.listdir(dir_source) + for file in sourceFiles: + filePath = dir_source + "/" + file + if os.path.isfile(filePath): + fileTime = os.stat(filePath).st_mtime + if fileTime > destTime: + return 1 + else: + return 0 + +def needUpdateMultiDirNoSubdirFile(log, root_dir, dirs_source, file_dest): + for dir_source in dirs_source: + if needUpdateDirNoSubdirFile(log, root_dir + "/" + dir_source, file_dest): + return 1 + return 0 + def needUpdateDirNoSubdir(log, dir_source, dir_dest): latestSourceFile = 0 oldestDestFile = 0 @@ -329,6 +398,17 @@ def needUpdateDirNoSubdirLogExtMultidir(log, all_dir_base, all_dir_source, dir_s printLog(log, "SKIP *") return 0 +def findFileMultiDir(log, dirs_where, file_name): + try: + for dir in dirs_where: + file = findFile(log, dir, file_name) + if file != "": + return file + except Exception, e: + printLog(log, "EXCEPTION " + str(e)) + printLog(log, "FILE NOT FOUND " + file_name) + return "" + def findTool(log, dirs_where, file_name, suffix): try: for dir in dirs_where: diff --git a/code/nel/tools/build_gamedata/configuration/tools.py b/code/nel/tools/build_gamedata/configuration/tools.py index f099dffe0..e533270c1 100644 --- a/code/nel/tools/build_gamedata/configuration/tools.py +++ b/code/nel/tools/build_gamedata/configuration/tools.py @@ -37,7 +37,6 @@ SmallbankBuildTimeout = 60000 FarbankBuildTimeout = 180000 AnimExportTimeout = 1800000 IgExportTimeout = 600000 -MapsBuildTimeout = 10000 CmbExportTimeout = 60000 RbankBuildTesselTimeout = 6000000 RbankBuildSmoothTimeout = 6000000 @@ -49,6 +48,7 @@ LigoExportTimeout = 3600000 LigoBuildTimeout = 1800000 PacsPrimExportTimeout = 600000 +MapsBuildTimeout = 60000 # 1min MaxShapeExportTimeout = 600000 # 10min # *** TOOLS CONFIGURATION *** @@ -63,7 +63,6 @@ ZoneWelderTool = "zone_welder" BuildRbankTool = "build_rbank" BuildIndoorRbankTool = "build_indoor_rbank" BuildIgBoxesTool = "build_ig_boxes" -AiBuildWmapTool = "ai_build_wmap" GetNeighborsTool = "get_neighbors" ZoneLighterTool = "zone_lighter" ZoneIgLighterTool = "zone_ig_lighter" @@ -85,3 +84,8 @@ PrimExportTool = "prim_export" IgElevationTool = "ig_elevation" IgAddTool = "ig_add" BuildClodBankTool = "build_clod_bank" +SheetsPackerTool = "sheets_packer" +BnpMakeTool = "bnp_make" +AiBuildWmapTool = "ai_build_wmap" +TgaCutTool = "tga_cut" +PatchGenTool = "patch_gen" diff --git a/code/nel/tools/build_gamedata/export_build_install.py b/code/nel/tools/build_gamedata/export_build_install.py index 8fab529c5..4cce78ced 100644 --- a/code/nel/tools/build_gamedata/export_build_install.py +++ b/code/nel/tools/build_gamedata/export_build_install.py @@ -26,7 +26,7 @@ import shutil, subprocess -# subprocess.call([ "python", "0_setup.py" ]) subprocess.call([ "python", "1_export.py" ]) subprocess.call([ "python", "2_build.py" ]) subprocess.call([ "python", "3_install.py" ]) + diff --git a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py index e5a91741c..769b11b9d 100644 --- a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py +++ b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py @@ -99,6 +99,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -148,6 +164,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -171,29 +191,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py index 7a7478b99..6b567708e 100644 --- a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py +++ b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py @@ -110,6 +110,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py b/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py index d6d65d689..46dbe5d0a 100644 --- a/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py +++ b/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py @@ -47,7 +47,7 @@ def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exp newline = newline.replace("%PreGenFileExtension%", fileExtension) newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable) newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable) - newline = newline.replace("%PreGenClientDirectoryVariable%", clientDirectoryVariable) + newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable) return newline def generateSimpleMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, clientDirectoryVariable, dateTimeStamp): @@ -88,15 +88,15 @@ def generateSimpleMaxExporter(processName, fileExtension, sourceDirectoriesVaria -generateSimpleMaxExporter("pacs_prim", "pacs_prim", "PacsPrimSourceDirectories", "PacsPrimExportDirectory", "PacsPrimClientDirectory") +generateSimpleMaxExporter("pacs_prim", "pacs_prim", "PacsPrimSourceDirectories", "PacsPrimExportDirectory", "PacsPrimInstallDirectory") -generateSimpleMaxExporter("anim", "anim", "AnimSourceDirectories", "AnimExportDirectory", "AnimClientDirectory") +generateSimpleMaxExporter("anim", "anim", "AnimSourceDirectories", "AnimExportDirectory", "AnimInstallDirectory") -generateSimpleMaxExporter("skel", "skel", "SkelSourceDirectories", "SkelExportDirectory", "SkelClientDirectory") +generateSimpleMaxExporter("skel", "skel", "SkelSourceDirectories", "SkelExportDirectory", "SkelInstallDirectory") -generateSimpleMaxExporter("swt", "swt", "SwtSourceDirectories", "SwtExportDirectory", "SwtClientDirectory") +generateSimpleMaxExporter("swt", "swt", "SwtSourceDirectories", "SwtExportDirectory", "SwtInstallDirectory") -generateSimpleMaxExporter("zone", "zone", "ZoneSourceDirectory", "ZoneExportDirectory", "ZoneClientDirectory") +generateSimpleMaxExporter("zone", "zone", "ZoneSourceDirectory", "ZoneExportDirectory", "ZoneInstallDirectory") diff --git a/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py b/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py index d7a62a478..a7b1d8ac1 100644 --- a/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py +++ b/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py @@ -53,7 +53,7 @@ def processLine(line, processName, fileExtension, sourceDirectoriesVariable, exp newline = newline.replace("%PreGenSourceDirectoriesVariable%", sourceDirectoriesVariable) newline = newline.replace("%PreGenExportDirectoryVariable%", exportDirectoryVariable) newline = newline.replace("%PreGenTagExportDirectoryVariable%", tagExportDirectoryVariable) - newline = newline.replace("%PreGenClientDirectoryVariable%", clientDirectoryVariable) + newline = newline.replace("%PreGenInstallDirectoryVariable%", clientDirectoryVariable) return newline def generateTaggedMaxExporterFile(sourceFile, destFile, writeMode, processName, fileExtension, sourceDirectoriesVariable, exportDirectoryVariable, tagExportDirectoryVariable, clientDirectoryVariable, dateTimeStamp): @@ -100,13 +100,13 @@ def generateTaggedMaxExporter(processName, fileExtension, sourceDirectoriesVaria -generateTaggedMaxExporter("clodbank", "clod", "ClodSourceDirectories", "ClodExportDirectory", "ClodTagExportDirectory", "ClodClientDirectory") +generateTaggedMaxExporter("clodbank", "clod", "ClodSourceDirectories", "ClodExportDirectory", "ClodTagExportDirectory", "ClodInstallDirectory") generateTaggedMaxScript("ig", "ig") -generateTaggedMaxExporter("rbank", "cmb", "RBankCmbSourceDirectories", "RBankCmbExportDirectory", "RBankCmbTagExportDirectory", "PacsClientDirectory") +generateTaggedMaxExporter("rbank", "cmb", "RBankCmbSourceDirectories", "RBankCmbExportDirectory", "RBankCmbTagExportDirectory", "PacsInstallDirectory") -generateTaggedMaxExporter("veget", "veget", "VegetSourceDirectories", "VegetExportDirectory", "VegetTagExportDirectory", "VegetClientDirectory") +generateTaggedMaxExporter("veget", "veget", "VegetSourceDirectories", "VegetExportDirectory", "VegetTagExportDirectory", "VegetInstallDirectory") diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py index a2c6ef2b2..6afe3d077 100644 --- a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py +++ b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + %PreGenClientDirectoryVariable%) +mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%) log.close() diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py index c9486b77f..ba496ac8f 100644 --- a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py +++ b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py @@ -46,9 +46,9 @@ printLog(log, "") printLog(log, ">>> Install %PreGenProcessName% <<<") exportPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% mkPath(log, exportPath) -clientPath = ClientDataDirectory + "/" + %PreGenClientDirectoryVariable% -mkPath(log, clientPath) -copyFilesExtNoSubdirIfNeeded(log, exportPath, clientPath, ".%PreGenFileExtension%") +installPath = InstallDirectory + "/" + %PreGenInstallDirectoryVariable% +mkPath(log, installPath) +copyFilesExtNoSubdirIfNeeded(log, exportPath, installPath, ".%PreGenFileExtension%") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py index d572c1f43..5554a2d4a 100644 --- a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py +++ b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py @@ -58,7 +58,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + %PreGenClientDirectoryVariable%) +mkPath(log, InstallDirectory + "/" + %PreGenInstallDirectoryVariable%) log.close() diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py index f3dde5aa2..277d66022 100644 --- a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py +++ b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py @@ -46,9 +46,9 @@ printLog(log, "") printLog(log, ">>> Install %PreGenProcessName% <<<") exportPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% mkPath(log, exportPath) -clientPath = ClientDataDirectory + "/" + %PreGenClientDirectoryVariable% -mkPath(log, clientPath) -copyFilesNoTreeIfNeeded(log, exportPath, clientPath) +installPath = InstallDirectory + "/" + %PreGenInstallDirectoryVariable% +mkPath(log, installPath) +copyFilesNoTreeIfNeeded(log, exportPath, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/install_client_dev.py b/code/nel/tools/build_gamedata/install_client_dev.py new file mode 100644 index 000000000..63d8268d6 --- /dev/null +++ b/code/nel/tools/build_gamedata/install_client_dev.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +# +# \file export_build_install.py +# \brief Run all processes +# \date 2009-02-18 15:28GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Run all processes +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import shutil, subprocess + +subprocess.call([ "python", "3_install.py" ]) +subprocess.call([ "python", "5_client_dev.py" ]) + diff --git a/code/nel/tools/build_gamedata/install_data_shard.py b/code/nel/tools/build_gamedata/install_data_shard.py new file mode 100644 index 000000000..46b6697b9 --- /dev/null +++ b/code/nel/tools/build_gamedata/install_data_shard.py @@ -0,0 +1,31 @@ +#!/usr/bin/python +# +# \file export_build_install.py +# \brief Run all processes +# \date 2009-02-18 15:28GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Run all processes +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import shutil, subprocess + +subprocess.call([ "python", "3_install.py" ]) +subprocess.call([ "python", "4_data_shard.py" ]) + diff --git a/code/nel/tools/build_gamedata/processes/0_setup.py b/code/nel/tools/build_gamedata/processes/0_setup.py index 8a853bb50..cb6de2abb 100644 --- a/code/nel/tools/build_gamedata/processes/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/0_setup.py @@ -49,7 +49,7 @@ from directories import * #printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) #printLog(log, "") #for dir in ClientSetupDirectories: -# mkPath(log, ClientDataDirectory + "/" + dir) +# mkPath(log, InstallDirectory + "/" + dir) #printLog(log, "") printLog(log, "") diff --git a/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py b/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py index 80bf39ac6..5ec3438a2 100644 --- a/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py @@ -58,7 +58,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -#mkPath(log, ClientDataDirectory + "/" + DummyClientDirectory) +#mkPath(log, InstallDirectory + "/" + DummyInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/_dummy/3_install.py b/code/nel/tools/build_gamedata/processes/_dummy/3_install.py index ba92a6bba..2a3789e28 100644 --- a/code/nel/tools/build_gamedata/processes/_dummy/3_install.py +++ b/code/nel/tools/build_gamedata/processes/_dummy/3_install.py @@ -43,18 +43,18 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -#clientPath = ClientDataDirectory + "/" + DummyClientDirectory -#mkPath(log, clientPath) +#installPath = InstallDirectory + "/" + DummyInstallDirectory +#mkPath(log, installPath) printLog(log, ">>> Install dummy <<<") #mkPath(log, ExportBuildDirectory + "/" + DummyExportDirectory) -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyExportDirectory, clientPath, ".dummy") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyExportDirectory, installPath, ".dummy") #mkPath(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory) -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, clientPath, ".dummy") -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, clientPath, ".dds") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, installPath, ".dummy") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyWithCoarseMeshBuildDirectory, installPath, ".dds") #mkPath(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory) -#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory, clientPath, ".anim") +#copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DummyAnimExportDirectory, installPath, ".anim") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py b/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py new file mode 100644 index 000000000..d70a5f75f --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py @@ -0,0 +1,98 @@ +#!/usr/bin/python +# +# \file 0_setup.py +# \brief setup ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Setup ai_wmap +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Setup ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Setup build directories +printLog(log, ">>> Setup build directories <<<") +mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) +mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory) +mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildTagDirectory) + +# Setup lookup directories +printLog(log, ">>> Setup lookup directories <<<") +for dir in IgLookupDirectories: + mkPath(log, ExportBuildDirectory + "/" + dir) +for dir in PacsPrimLookupDirectories: + mkPath(log, ExportBuildDirectory + "/" + dir) + +# Setup client directories +printLog(log, ">>> Setup install directories <<<") +mkPath(log, InstallDirectory + "/" + AiWmapInstallDirectory) + +# Setup client directories +printLog(log, ">>> Setup configuration <<<") +mkPath(log, InstallDirectory + "/" + AiWmapInstallDirectory) +mkPath(log, ActiveProjectDirectory + "/generated") +cfg = open(ActiveProjectDirectory + "/generated/ai_build_wmap.cfg", "w") +cfg.write("\n") +cfg.write("// AI BUILD WMAP CONFIGURATION\n") +cfg.write("\n") +cfg.write("Paths = {\n") +for dir in IgLookupDirectories: + cfg.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") +cfg.write("\t\"" + ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "\", \n") +cfg.write("\t\"" + LeveldesignDirectory + "\", \n") +cfg.write("};\n") +cfg.write("\n") +cfg.write("NoRecursePaths = { };\n") +cfg.write("\n") +cfg.write("PacsPrimPaths = {\n") +for dir in PacsPrimLookupDirectories: + cfg.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") +cfg.write("};\n") +cfg.write("\n") +cfg.write("OutputPath = \"" + ExportBuildDirectory + "/" + AiWmapBuildDirectory + "\";\n") +cfg.write("\n") +cfg.write("Commands = {\n") +cfg.write("\t\"Verbose " + str(AiWmapVerbose) + "\", \n") +for startPoint in AiWmapStartPoints: + cfg.write("\t\"setStartPoint " + startPoint + "\", \n") +cfg.write("};\n") +cfg.write("\n") +cfg.close() + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py b/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py new file mode 100644 index 000000000..cdd4dad97 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py @@ -0,0 +1,49 @@ +#!/usr/bin/python +# +# \file 1_export.py +# \brief Export ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Export ai_wmap +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Export ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py b/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py new file mode 100644 index 000000000..df3202249 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py @@ -0,0 +1,95 @@ +#!/usr/bin/python +# +# \file 2_build.py +# \brief Build ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Build ai_wmap +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Build ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Find tools +AiBuildWmap = findTool(log, ToolDirectories, AiBuildWmapTool, ToolSuffix) +TgaCut = findTool(log, ToolDirectories, TgaCutTool, ToolSuffix) + +if AiBuildWmap == "": + toolLogFail(log, AiBuildWmapTool, ToolSuffix) +if TgaCut == "": + toolLogFail(log, TgaCutTool, ToolSuffix) +else: + printLog(log, ">>> Copy ai_build_wmap.cfg <<<") + cfgPath = ActiveProjectDirectory + "/generated/ai_build_wmap.cfg" + tagPath = ExportBuildDirectory + "/" + AiWmapBuildTagDirectory + "/ai_wmap_build.tag" + shutil.copy(cfgPath, "ai_build_wmap.cfg") + printLog(log, ">>> Check up packed sheets <<<") + subprocess.call([ AiBuildWmap, "checkPackedSheets" ]) + printLog(log, ">>> Build ai_wmap <<<") + mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildTagDirectory) + if (needUpdate(log, "continents.packed_sheets", tagPath) or needUpdateMultiDirNoSubdirFile(log, ExportBuildDirectory, [ RbankOutputBuildDirectory ] + IgLookupDirectories + PacsPrimLookupDirectories, tagPath)): + printLog(log, ">>> Generate wmap <<<") + subprocess.call([ AiBuildWmap, "pacsCrunch " + AiWmapContinentName ]) + printLog(log, ">>> Generate sized wmap <<<") + subprocess.call([ AiBuildWmap, "pacsBuildGabarit " + AiWmapContinentName ]) + printLog(log, ">>> Generate cwmaps for each size <<<") + subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_0" ]) + subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_1" ]) + subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_2" ]) + printLog(log, ">>> Generate bitmap for each size <<<") + subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_0" ]) + subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_1" ]) + subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_2" ]) + printLog(log, ">>> Clear height maps for size 1 and 2 <<<") + subprocess.call([ AiBuildWmap, "pacsClearHeightmap " + AiWmapContinentName ]) + printLog(log, ">>> Cut tga for world editor <<<") + subprocess.call([ TgaCut, ExportBuildDirectory + "/" + AiWmapBuildDirectory + "/" + AiWmapContinentName + "_0.tga" ]) + moveFilesExtNoTree(log, ".", ExportBuildDirectory + "/" + AiWmapBuildDirectory, ".tga") + printLog(log, ">>> Remove wmap <<<") + removeFilesRecursiveExt(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory, ".wmap") + tagFile = open(tagPath, "w") + tagFile.write(time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())) + "\n") + tagFile.close() + else: + printLog("SKIP *") +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py b/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py new file mode 100644 index 000000000..c5508830b --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py @@ -0,0 +1,57 @@ +#!/usr/bin/python +# +# \file 3_install.py +# \brief Install ai_wmap +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install ai_wmap +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install ai_wmap") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +installPath = InstallDirectory + "/" + AiWmapInstallDirectory +mkPath(log, installPath) + +printLog(log, ">>> Install ai_wmap <<<") +mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory, installPath) + +printLog(log, "") +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/anim/0_setup.py b/code/nel/tools/build_gamedata/processes/anim/0_setup.py index 5722b4238..87d4fc711 100644 --- a/code/nel/tools/build_gamedata/processes/anim/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/anim/0_setup.py @@ -58,7 +58,7 @@ mkPath(log, ExportBuildDirectory + "/" + AnimBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + AnimClientDirectory) +mkPath(log, InstallDirectory + "/" + AnimInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/anim/1_export.py b/code/nel/tools/build_gamedata/processes/anim/1_export.py index 48f674fba..2ab46263a 100644 --- a/code/nel/tools/build_gamedata/processes/anim/1_export.py +++ b/code/nel/tools/build_gamedata/processes/anim/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export anim -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export anim diff --git a/code/nel/tools/build_gamedata/processes/anim/3_install.py b/code/nel/tools/build_gamedata/processes/anim/3_install.py index c9b3c6875..2b410544e 100644 --- a/code/nel/tools/build_gamedata/processes/anim/3_install.py +++ b/code/nel/tools/build_gamedata/processes/anim/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install anim <<<") srcDir = ExportBuildDirectory + "/" + AnimBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + AnimClientDirectory +destDir = InstallDirectory + "/" + AnimInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/cegui/0_setup.py b/code/nel/tools/build_gamedata/processes/cegui/0_setup.py index 94b227869..6a6faf525 100644 --- a/code/nel/tools/build_gamedata/processes/cegui/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/cegui/0_setup.py @@ -57,7 +57,7 @@ mkPath(log, ExportBuildDirectory + "/" + CeguiImagesetBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + CeguiImagesetClientDirectory) +mkPath(log, InstallDirectory + "/" + CeguiImagesetInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/cegui/3_install.py b/code/nel/tools/build_gamedata/processes/cegui/3_install.py index 02ffe9a27..b76322183 100644 --- a/code/nel/tools/build_gamedata/processes/cegui/3_install.py +++ b/code/nel/tools/build_gamedata/processes/cegui/3_install.py @@ -45,7 +45,7 @@ printLog(log, "") printLog(log, ">>> Install cegui imagesets <<<") srcDir = ExportBuildDirectory + "/" + CeguiImagesetBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + CeguiImagesetClientDirectory +destDir = InstallDirectory + "/" + CeguiImagesetInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py b/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py index e28f629d9..07bdd207f 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py @@ -61,7 +61,7 @@ mkPath(log, ExportBuildDirectory + "/" + AnimBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ShapeClientDirectory) +mkPath(log, InstallDirectory + "/" + ShapeInstallDirectory) # Setup configuration files printLog(log, ">>> Setup configuration files <<<") diff --git a/code/nel/tools/build_gamedata/processes/clodbank/1_export.py b/code/nel/tools/build_gamedata/processes/clodbank/1_export.py index 5e52e0375..99e9f85ea 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/1_export.py +++ b/code/nel/tools/build_gamedata/processes/clodbank/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export clodbank -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export clodbank diff --git a/code/nel/tools/build_gamedata/processes/clodbank/3_install.py b/code/nel/tools/build_gamedata/processes/clodbank/3_install.py index 6879f3da8..b75ef21d7 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/clodbank/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install clodbank <<<") srcDir = ExportBuildDirectory + "/" + ClodBankBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + ShapeClientDirectory +destDir = InstallDirectory + "/" + ShapeInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/copy/0_setup.py b/code/nel/tools/build_gamedata/processes/copy/0_setup.py new file mode 100644 index 000000000..6ae63631b --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/0_setup.py @@ -0,0 +1,76 @@ +#!/usr/bin/python +# +# \file 0_setup.py +# \brief setup copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Setup copy +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Setup copy") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Setup source directories +printLog(log, ">>> Setup source directories <<<") +for dir in CopyDirectSourceDirectories: + mkPath(log, dir) +for file in CopyDirectSourceFiles: + mkPath(log, os.path.dirname(file)) +for dir in CopyLeveldesignSourceDirectories: + mkPath(log, LeveldesignDirectory + "/" + dir) +for file in CopyLeveldesignSourceFiles: + mkPath(log, os.path.dirname(LeveldesignDirectory + "/" + file)) +for dir in CopyLeveldesignWorldSourceDirectories: + mkPath(log, LeveldesignWorldDirectory + "/" + dir) +for file in CopyLeveldesignWorldSourceFiles: + mkPath(log, os.path.dirname(LeveldesignWorldDirectory + "/" + file)) +for dir in CopyLeveldesignDfnSourceDirectories: + mkPath(log, LeveldesignDfnDirectory + "/" + dir) +for file in CopyLeveldesignDfnSourceFiles: + mkPath(log, os.path.dirname(LeveldesignDfnDirectory + "/" + file)) +for dir in CopyDatabaseSourceDirectories: + mkPath(log, DatabaseDirectory + "/" + dir) +for file in CopyDatabaseSourceFiles: + mkPath(log, os.path.dirname(DatabaseDirectory + "/" + file)) + +# Setup client directories +printLog(log, ">>> Setup client directories <<<") +mkPath(log, InstallDirectory + "/" + CopyInstallDirectory) + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/copy/1_export.py b/code/nel/tools/build_gamedata/processes/copy/1_export.py new file mode 100644 index 000000000..c2e7ef229 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/1_export.py @@ -0,0 +1,49 @@ +#!/usr/bin/python +# +# \file 1_export.py +# \brief Export copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Export copy +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Export copy") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/copy/2_build.py b/code/nel/tools/build_gamedata/processes/copy/2_build.py new file mode 100644 index 000000000..bd3ff2f50 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/2_build.py @@ -0,0 +1,49 @@ +#!/usr/bin/python +# +# \file 2_build.py +# \brief Build copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Build copy +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Build copy") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/copy/3_install.py b/code/nel/tools/build_gamedata/processes/copy/3_install.py new file mode 100644 index 000000000..9d597a987 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/copy/3_install.py @@ -0,0 +1,85 @@ +#!/usr/bin/python +# +# \file 3_install.py +# \brief Install copy +# \date 2010-05-24 13:42GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install copy +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install copy") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +installPath = InstallDirectory + "/" + CopyInstallDirectory +mkPath(log, installPath) + +printLog(log, ">>> Install copy <<<") +for dir in CopyDirectSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, dir, installPath) +for file in CopyDirectSourceFiles: + copyFileIfNeeded(log, file, installPath + "/" + os.path.basename(file)) +for dir in CopyLeveldesignSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignDirectory + "/" + dir, installPath) +for file in CopyLeveldesignSourceFiles: + copyFileIfNeeded(log, LeveldesignDirectory + "/" + file, installPath + "/" + os.path.basename(file)) +for dir in CopyLeveldesignWorldSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignWorldDirectory + "/" + dir, installPath) +for file in CopyLeveldesignWorldSourceFiles: + copyFileIfNeeded(log, LeveldesignWorldDirectory + "/" + file, installPath + "/" + os.path.basename(file)) +for dir in CopyLeveldesignDfnSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignDfnDirectory + "/" + dir, installPath) +for file in CopyLeveldesignDfnSourceFiles: + copyFileIfNeeded(log, LeveldesignDfnDirectory + "/" + file, installPath + "/" + os.path.basename(file)) +for dir in CopyDatabaseSourceDirectories: + copyFilesRecursiveNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, installPath) +for file in CopyDatabaseSourceFiles: + copyFileIfNeeded(log, DatabaseDirectory + "/" + file, installPath + "/" + os.path.basename(file)) + +try: + CopyWindowsExeDllCfgSourceFiles +except NameError: + CopyWindowsExeDllCfgSourceFiles = [ ] +for file in CopyWindowsExeDllCfgSourceFiles: + filePath = findFileMultiDir(log, WindowsExeDllCfgDirectories, file) + if (filePath != ""): + copyFileIfNeeded(log, filePath, installPath + "/" + os.path.basename(file)) + +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/displace/0_setup.py b/code/nel/tools/build_gamedata/processes/displace/0_setup.py index 27ba463ef..ef647efa6 100644 --- a/code/nel/tools/build_gamedata/processes/displace/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/displace/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + DisplaceClientDirectory) +mkPath(log, InstallDirectory + "/" + DisplaceInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/displace/3_install.py b/code/nel/tools/build_gamedata/processes/displace/3_install.py index 2e6fb48f7..edbbf92c9 100644 --- a/code/nel/tools/build_gamedata/processes/displace/3_install.py +++ b/code/nel/tools/build_gamedata/processes/displace/3_install.py @@ -44,11 +44,11 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install displace <<<") -clientPath = ClientDataDirectory + "/" + DisplaceClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + DisplaceInstallDirectory +mkPath(log, installPath) mkPath(log, ExportBuildDirectory + "/" + DisplaceExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, clientPath, ".tga") -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, clientPath, ".png") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, installPath, ".tga") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + DisplaceExportDirectory, installPath, ".png") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/farbank/0_setup.py b/code/nel/tools/build_gamedata/processes/farbank/0_setup.py index 8f160a579..d8b93d355 100644 --- a/code/nel/tools/build_gamedata/processes/farbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/farbank/0_setup.py @@ -58,7 +58,7 @@ mkPath(log, ExportBuildDirectory + "/" + FarbankBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + BankClientDirectory) +mkPath(log, InstallDirectory + "/" + BankInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/farbank/3_install.py b/code/nel/tools/build_gamedata/processes/farbank/3_install.py index 334c165c4..b12c77ef9 100644 --- a/code/nel/tools/build_gamedata/processes/farbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/farbank/3_install.py @@ -45,8 +45,8 @@ printLog(log, "") printLog(log, ">>> Install farbank <<<") mkPath(log, ExportBuildDirectory + "/" + FarbankBuildDirectory) -mkPath(log, ClientDataDirectory + "/" + BankClientDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + FarbankBuildDirectory, ClientDataDirectory + "/" + BankClientDirectory, ".farbank") +mkPath(log, InstallDirectory + "/" + BankInstallDirectory) +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + FarbankBuildDirectory, InstallDirectory + "/" + BankInstallDirectory, ".farbank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/font/0_setup.py b/code/nel/tools/build_gamedata/processes/font/0_setup.py index 3eb5a97fd..4d05d3370 100644 --- a/code/nel/tools/build_gamedata/processes/font/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/font/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + FontClientDirectory) +mkPath(log, InstallDirectory + "/" + FontInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/font/3_install.py b/code/nel/tools/build_gamedata/processes/font/3_install.py index 4415c1195..30f2e136c 100644 --- a/code/nel/tools/build_gamedata/processes/font/3_install.py +++ b/code/nel/tools/build_gamedata/processes/font/3_install.py @@ -43,16 +43,16 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + FontClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + FontInstallDirectory +mkPath(log, installPath) fontExportDir = ExportBuildDirectory + "/" + FontExportDirectory mkPath(log, fontExportDir) printLog(log, ">>> Install font <<<") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".ttf") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".afm") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfb") -copyFilesExtNoTreeIfNeeded(log, fontExportDir, clientPath, ".pfm") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".ttf") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".afm") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".pfb") +copyFilesExtNoTreeIfNeeded(log, fontExportDir, installPath, ".pfm") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/ig/0_setup.py b/code/nel/tools/build_gamedata/processes/ig/0_setup.py index 7ff7d4281..232c6df9f 100644 --- a/code/nel/tools/build_gamedata/processes/ig/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/ig/0_setup.py @@ -70,7 +70,7 @@ mkPath(log, ExportBuildDirectory + "/" + IgOtherBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -#mkPath(log, ClientDataDirectory + "/" + IgClientDirectory) +#mkPath(log, InstallDirectory + "/" + IgInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/ig/3_install.py b/code/nel/tools/build_gamedata/processes/ig/3_install.py index 219344789..f568645d3 100644 --- a/code/nel/tools/build_gamedata/processes/ig/3_install.py +++ b/code/nel/tools/build_gamedata/processes/ig/3_install.py @@ -43,7 +43,7 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPathIg = ClientDataDirectory + "/" + IgClientDirectory +clientPathIg = InstallDirectory + "/" + IgInstallDirectory mkPath(log, clientPathIg) printLog(log, ">>> Install ig <<<") diff --git a/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py b/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py index 78c5df79f..77487976d 100644 --- a/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py @@ -56,7 +56,7 @@ mkPath(log, ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + IgClientDirectory) +mkPath(log, InstallDirectory + "/" + IgInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/ig_light/3_install.py b/code/nel/tools/build_gamedata/processes/ig_light/3_install.py index 37aba90a7..c510d9263 100644 --- a/code/nel/tools/build_gamedata/processes/ig_light/3_install.py +++ b/code/nel/tools/build_gamedata/processes/ig_light/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install ig_light <<<") srcDir = ExportBuildDirectory + "/" + IgOtherLightedBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + IgClientDirectory +destDir = InstallDirectory + "/" + IgInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/interface/0_setup.py b/code/nel/tools/build_gamedata/processes/interface/0_setup.py index d77614701..3ed0feeed 100644 --- a/code/nel/tools/build_gamedata/processes/interface/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/interface/0_setup.py @@ -69,7 +69,7 @@ mkPath(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + InterfaceClientDirectory) +mkPath(log, InstallDirectory + "/" + InterfaceInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/interface/1_export.py b/code/nel/tools/build_gamedata/processes/interface/1_export.py index 37911ba7e..ed7806f7c 100644 --- a/code/nel/tools/build_gamedata/processes/interface/1_export.py +++ b/code/nel/tools/build_gamedata/processes/interface/1_export.py @@ -56,8 +56,8 @@ for dirs in InterfaceSourceDirectories: mkPath(log, newpath) for dir in dirs: mkPath(log, DatabaseDirectory + "/" + dir) - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".tga") - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".png") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".tga") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, newpath, ".png") printLog(log, "") # For each interface directory to compress in one DXTC @@ -65,8 +65,8 @@ printLog(log, ">>> Export interface dxtc <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory) for dir in InterfaceDxtcSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".tga") - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".png") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".tga") + copyFilesExtNoSubdirIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + InterfaceDxtcExportDirectory, ".png") printLog(log, "") # For each interface fullscreen directory compress independently all in dds @@ -96,8 +96,7 @@ printLog(log, ">>> Export interface 3d <<<") mkPath(log, ExportBuildDirectory + "/" + Interface3DExportDirectory) for dir in Interface3DSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + Interface3DExportDirectory, ".tga") - copyFilesExtNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + Interface3DExportDirectory, ".png") + copyFiles(log, DatabaseDirectory + "/" + dir, ExportBuildDirectory + "/" + Interface3DExportDirectory) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/interface/3_install.py b/code/nel/tools/build_gamedata/processes/interface/3_install.py index e8b6ef832..a920c9384 100644 --- a/code/nel/tools/build_gamedata/processes/interface/3_install.py +++ b/code/nel/tools/build_gamedata/processes/interface/3_install.py @@ -43,24 +43,24 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + InterfaceClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + InterfaceInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install interface <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceBuildDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceBuildDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceBuildDirectory, installPath) printLog(log, ">>> Install interface dxtc <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceDxtcBuildDirectory, installPath) printLog(log, ">>> Install interface fullscreen <<<") mkPath(log, ExportBuildDirectory + "/" + InterfaceFullscreenExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceFullscreenExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + InterfaceFullscreenExportDirectory, installPath) printLog(log, ">>> Install interface 3d <<<") mkPath(log, ExportBuildDirectory + "/" + Interface3DExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + Interface3DExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + Interface3DExportDirectory, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/map/0_setup.py b/code/nel/tools/build_gamedata/processes/map/0_setup.py index 555226840..a41ec9658 100644 --- a/code/nel/tools/build_gamedata/processes/map/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/map/0_setup.py @@ -49,6 +49,10 @@ for dir in MapSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) for dir in MapUncompressedSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) +if MapHlsBankFileName != None or MapPanoplyFileList != None: + for panoplyCfg in MapPanoplySourceDirectories: + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[2]) + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[3]) # Setup export directories printLog(log, ">>> Setup export directories <<<") @@ -58,11 +62,16 @@ mkPath(log, ExportBuildDirectory + "/" + MapUncompressedExportDirectory) # Setup build directories printLog(log, ">>> Setup build directories <<<") mkPath(log, ExportBuildDirectory + "/" + MapBuildDirectory) -mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) +mkPath(log, ExportBuildDirectory + "/" + MapTagBuildDirectory) +if MapHlsBankFileName != None or MapPanoplyFileList != None: + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + MapClientDirectory) +mkPath(log, InstallDirectory + "/" + MapInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/map/2_build.py b/code/nel/tools/build_gamedata/processes/map/2_build.py index 8a1ba5711..338e1b114 100644 --- a/code/nel/tools/build_gamedata/processes/map/2_build.py +++ b/code/nel/tools/build_gamedata/processes/map/2_build.py @@ -50,10 +50,61 @@ PanoplyMaker = findTool(log, ToolDirectories, PanoplyMakerTool, ToolSuffix) HlsBankMaker = findTool(log, ToolDirectories, HlsBankMakerTool, ToolSuffix) printLog(log, "") -printLog(log, ">>> Panoply <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") +buildPanoplyTagPath = ExportBuildDirectory + "/" + MapTagBuildDirectory + "/build_panoply.tag" +buildCompressTagPath = ExportBuildDirectory + "/" + MapTagBuildDirectory + "/build_compress.tag" + +if MapPanoplyFileList != None: + printLog(log, ">>> Panoply build <<<") + mkPath(log, ExportBuildDirectory + "/" + MapTagBuildDirectory) + directoriesCheck = [ ] + for panoplyCfg in MapPanoplySourceDirectories: + directoriesCheck += [ panoplyCfg[2] ] + directoriesCheck += [ panoplyCfg[3] ] + if (needUpdateMultiDirNoSubdirFile(log, DatabaseDirectory, directoriesCheck, buildPanoplyTagPath)): + mkPath(log, ActiveProjectDirectory + "/generated") + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + printLog(log, "") + printLog(log, ">>> Move panoply and hls to cache <<<") + removeFilesDirsRecursive(log, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + moveDir(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) + moveFilesNoSubdir(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory, ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory) + printLog(log, "") + for panoplyCfg in MapPanoplySourceDirectories: + printLog(log, ">>> Panoply " + panoplyCfg[1] + " <<<") + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[2]) + mkPath(log, DatabaseDirectory + "/" + panoplyCfg[3]) + cfg = open(ActiveProjectDirectory + "/generated/current_panoply.cfg", "w") + cfgCommon = open(ActiveProjectDirectory + "/" + panoplyCfg[0], "r") + cfgRace = open(ActiveProjectDirectory + "/" + panoplyCfg[1], "r") + cfg.write("\n") + cfg.write("// CURRENT PANOPLY CONFIGURATION\n") + cfg.write("\n") + cfg.write("input_path = \"" + DatabaseDirectory + "/" + panoplyCfg[2] + "\";\n") + cfg.write("additionnal_paths = \"" + DatabaseDirectory + "/" + panoplyCfg[3] + "\";\n") + cfg.write("output_path = \"" + ExportBuildDirectory + "/" + MapPanoplyBuildDirectory + "\";\n") + cfg.write("hls_info_path = \"" + ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory + "\";\n") + cfg.write("cache_path = \"" + ExportBuildDirectory + "/" + MapPanoplyCacheBuildDirectory + "\";\n") + cfg.write("\n") + cfg.write("/////////////////////////////////////////////\n") + cfg.write("\n") + for line in cfgCommon: + cfg.write(line) + for line in cfgRace: + cfg.write(line) + cfg.close() + cfgCommon.close() + cfgRace.close() + subprocess.call([ PanoplyMaker, ActiveProjectDirectory + "/generated/current_panoply.cfg" ]) + printLog(log, "") + tagFile = open(buildPanoplyTagPath, "w") + tagFile.write(time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())) + "\n") + tagFile.close() + else: + printLog(log, "SKIP *.*") + printLog(log, "") printLog(log, ">>> Compress TGA and PNG maps to DDS <<<") if TgaToDds == "": @@ -61,34 +112,55 @@ if TgaToDds == "": elif ExecTimeout == "": toolLogFail(log, ExecTimeoutTool, ToolSuffix) else: - sourcePath = ExportBuildDirectory + "/" + MapExportDirectory - mkPath(log, sourcePath) destPath = ExportBuildDirectory + "/" + MapBuildDirectory mkPath(log, destPath) - files = findFilesNoSubdir(log, sourcePath, ".tga") - for file in files: - sourceFile = sourcePath + "/" + file - destFile = destPath + "/" + os.path.basename(file)[0:-len(".tga")] + ".dds" - if needUpdateLogRemoveDest(log, sourceFile, destFile): - subprocess.call([ ExecTimeout, str(MapsBuildTimeout), TgaToDds, sourceFile, "-o", destFile, "-m", "-r" + str(ReduceBitmapFactor) ]) - files = findFilesNoSubdir(log, sourcePath, ".png") - for file in files: - sourceFile = sourcePath + "/" + file - destFile = destPath + "/" + os.path.basename(file)[0:-len(".png")] + ".dds" - if needUpdateLogRemoveDest(log, sourceFile, destFile): - subprocess.call([ ExecTimeout, str(MapsBuildTimeout), TgaToDds, sourceFile, "-o", destFile, "-m", "-r" + str(ReduceBitmapFactor) ]) - copyFilesExtNoSubdirIfNeeded(log, sourcePath, destPath, ".dds") + sourcePaths = [ ExportBuildDirectory + "/" + MapExportDirectory ] + writeTag = 0 + if MapPanoplyFileList != None: + if needUpdate(log, buildPanoplyTagPath, buildCompressTagPath): + sourcePaths += [ ExportBuildDirectory + "/" + MapPanoplyBuildDirectory ] + else: + printLog(log, "SKIP " + ExportBuildDirectory + "/" + MapPanoplyBuildDirectory + "/*.*") + for sourcePath in sourcePaths: + mkPath(log, sourcePath) + files = os.listdir(sourcePath) + len_tga_png = len(".tga") + len_dds = len(".dds") + for fileName in files: + if isLegalFileName(fileName): + sourceFile = sourcePath + "/" + fileName + if os.path.isfile(sourceFile): + if (fileName[-len_tga_png:].lower() == ".tga") or (fileName[-len_tga_png:].lower() == ".png"): + destFile = destPath + "/" + os.path.basename(fileName)[0:-len_tga_png] + ".dds" + if needUpdateLogRemoveDest(log, sourceFile, destFile): + subprocess.call([ ExecTimeout, str(MapsBuildTimeout), TgaToDds, sourceFile, "-o", destFile, "-m", "-r" + str(ReduceBitmapFactor) ]) + writeTag = 1 + elif fileName[-len_dds:].lower() == ".dds": + copyFileIfNeeded(log, sourceFile, destPath + "/" + os.path.basename(fileName)) + writeTag = 1 + elif not os.path.isdir(sourceFile): + printLog(log, "FAIL ?! file not dir or file ?! " + sourceFile) + if writeTag: + tagFile = open(buildCompressTagPath, "w") + tagFile.write(time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())) + "\n") + tagFile.close() printLog(log, "") -printLog(log, ">>> Compress panoply maps to DDS <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") - -printLog(log, ">>> Build the HLSBank (if hlsInfo present, and if build wanted) <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") +if MapHlsBankFileName != None: + printLog(log, ">>> Build the HLSBank <<<") + if HlsBankMaker == "": + toolLogFail(log, HlsBankMakerTool, ToolSuffix) + else: + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory) + mkPath(log, ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory) + hlsBankPath = ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory + "/" + MapHlsBankFileName + if (needUpdate(log, buildPanoplyTagPath, hlsBankPath) or needUpdate(log, buildCompressTagPath, hlsBankPath)): + if os.path.isfile(hlsBankPath): + os.remove(hlsBankPath) + subprocess.call([ HlsBankMaker, ExportBuildDirectory + "/" + MapPanoplyHlsInfoBuildDirectory, hlsBankPath ]) + else: + printLog(log,"SKIP " + hlsBankPath) + printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/map/3_install.py b/code/nel/tools/build_gamedata/processes/map/3_install.py index 4c0a86360..ffcefdf07 100644 --- a/code/nel/tools/build_gamedata/processes/map/3_install.py +++ b/code/nel/tools/build_gamedata/processes/map/3_install.py @@ -43,32 +43,46 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + MapClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + MapInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install map <<<") -sourcePath = ExportBuildDirectory + "/" + MapBuildDirectory -mkPath(log, sourcePath) -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".dds") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".png") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".tga") -sourcePath = ExportBuildDirectory + "/" + MapUncompressedExportDirectory -mkPath(log, sourcePath) -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".dds") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".png") -copyFilesExtNoSubdirIfNeeded(log, sourcePath, clientPath, ".tga") +sourcePaths = [ ExportBuildDirectory + "/" + MapBuildDirectory ] + [ ExportBuildDirectory + "/" + MapUncompressedExportDirectory ] +for sourcePath in sourcePaths: + mkPath(log, sourcePath) + files = os.listdir(sourcePath) + len_ext = 4 + for fileName in files: + if isLegalFileName(fileName): + sourceFile = sourcePath + "/" + fileName + if os.path.isfile(sourceFile): + if (fileName[-len_ext:].lower() == ".tga") or (fileName[-len_ext:].lower() == ".png") or (fileName[-len_ext:].lower() == ".dds"): + copyFileIfNeeded(log, sourceFile, installPath + "/" + os.path.basename(fileName)) + elif not os.path.isdir(sourceFile): + printLog(log, "FAIL ?! file not dir or file ?! " + sourceFile) -printLog(log, ">>> Install map panoply <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") -mkPath(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory) -copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + MapPanoplyBuildDirectory, clientPath, ".dds") +if MapPanoplyFileList != None: + printLog(log, ">>> Install panoply file list <<<") + buildPanoplyTagPath = ExportBuildDirectory + "/" + MapTagBuildDirectory + "/build_panoply.tag" + mkPath(log, ExportBuildDirectory + "/" + MapTagBuildDirectory) + if needUpdate(log, buildPanoplyTagPath, installPath + "/" + MapPanoplyFileList): + sourcePath = ExportBuildDirectory + "/" + MapPanoplyBuildDirectory + mkPath(log, sourcePath) + printLog(log, "WRITE " + installPath + "/" + MapPanoplyFileList) + lf = open(installPath + "/" + MapPanoplyFileList, "w") + files = os.listdir(sourcePath) + for file in files: + if isLegalFileName(file): + lf.write(file + "\n") + lf.close() + else: + printLog(log, "SKIP " + installPath + "/" + MapPanoplyBuildDirectory) -printLog(log, ">>> Install map hlsbank <<<") -printLog(log, "********************************") -printLog(log, "******** TODO ********") -printLog(log, "********************************") +if MapHlsBankFileName != None: + printLog(log, ">>> Install map hlsbank <<<") + sourcePath = ExportBuildDirectory + "/" + MapPanoplyHlsBankBuildDirectory + mkPath(log, sourcePath) + copyFilesExtNoSubdirIfNeeded(log, sourcePath, installPath, ".hlsbank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py b/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py index db68c6484..ae06f1147 100644 --- a/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + PacsPrimClientDirectory) +mkPath(log, InstallDirectory + "/" + PacsPrimInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py b/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py index b598d84bf..5779a8cd7 100644 --- a/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py +++ b/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export pacs_prim -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export pacs_prim diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py b/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py index abd174652..ae5a741ac 100644 --- a/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py +++ b/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + PacsPrimClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + PacsPrimInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install pacs_prim <<<") mkPath(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory) -copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory, clientPath, ".pacs_prim") +copyFilesExtNoSubdirIfNeeded(log, ExportBuildDirectory + "/" + PacsPrimExportDirectory, installPath, ".pacs_prim") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/ps/0_setup.py b/code/nel/tools/build_gamedata/processes/ps/0_setup.py index 54c1ee692..7de51f437 100644 --- a/code/nel/tools/build_gamedata/processes/ps/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/ps/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + PsClientDirectory) +mkPath(log, InstallDirectory + "/" + PsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/ps/3_install.py b/code/nel/tools/build_gamedata/processes/ps/3_install.py index 67671d031..a49f4dfc2 100644 --- a/code/nel/tools/build_gamedata/processes/ps/3_install.py +++ b/code/nel/tools/build_gamedata/processes/ps/3_install.py @@ -46,7 +46,7 @@ printLog(log, "") printLog(log, ">>> Install ps <<<") srcDir = ExportBuildDirectory + "/" + PsExportDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + PsClientDirectory +destDir = InstallDirectory + "/" + PsInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/processes/rbank/0_setup.py b/code/nel/tools/build_gamedata/processes/rbank/0_setup.py index 042dde26c..96295f2b3 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/rbank/0_setup.py @@ -74,7 +74,7 @@ mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + PacsClientDirectory) +mkPath(log, InstallDirectory + "/" + PacsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/rbank/1_export.py b/code/nel/tools/build_gamedata/processes/rbank/1_export.py index 5540c0a43..54679a28a 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/1_export.py +++ b/code/nel/tools/build_gamedata/processes/rbank/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export rbank -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export rbank diff --git a/code/nel/tools/build_gamedata/processes/rbank/3_install.py b/code/nel/tools/build_gamedata/processes/rbank/3_install.py index 363afc3b2..ad79019c8 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/rbank/3_install.py @@ -44,21 +44,21 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install rbank <<<") -clientPath = ClientDataDirectory + "/" + PacsClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + PacsInstallDirectory +mkPath(log, installPath) srcPath = ExportBuildDirectory + "/" + RbankOutputBuildDirectory mkPath(log, srcPath) -copyFilesNoTreeIfNeeded(log, srcPath, clientPath) -#clientPath = ClientDataDirectory + "/" + PacsClientDirectory -#mkPath(log, clientPath) +copyFilesNoTreeIfNeeded(log, srcPath, installPath) +#installPath = InstallDirectory + "/" + PacsInstallDirectory +#mkPath(log, installPath) #srcPath = ExportBuildDirectory + "/" + RbankRetrieversBuildDirectory #mkPath(log, srcPath) -#copyFileIfNeeded(log, srcPath + "/tempMerged.rbank", clientPath + "/" + RbankRbankName + ".rbank") -#copyFileIfNeeded(log, srcPath + "/tempMerged.gr", clientPath + "/" + RbankRbankName + ".gr") +#copyFileIfNeeded(log, srcPath + "/tempMerged.rbank", installPath + "/" + RbankRbankName + ".rbank") +#copyFileIfNeeded(log, srcPath + "/tempMerged.gr", installPath + "/" + RbankRbankName + ".gr") #for file in findFiles(log, srcPath, "", ".lr"): -# copyFileIfNeeded(log, srcPath + "/" + file, clientPath + "/" + file.replace("tempMerged", RbankRbankName)) +# copyFileIfNeeded(log, srcPath + "/" + file, installPath + "/" + file.replace("tempMerged", RbankRbankName)) # mkPath(log, ExportBuildDirectory + "/" + rbankBuildDirectory) -# copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + rbankBuildDirectory, clientPath) +# copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + rbankBuildDirectory, installPath) #copyFileIfNeeded printLog(log, "") diff --git a/code/nel/tools/build_gamedata/processes/shape/0_setup.py b/code/nel/tools/build_gamedata/processes/shape/0_setup.py index 5183c38de..0f93e1574 100644 --- a/code/nel/tools/build_gamedata/processes/shape/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/shape/0_setup.py @@ -47,8 +47,11 @@ printLog(log, "") printLog(log, ">>> Setup source directories <<<") for dir in ShapeSourceDirectories: mkPath(log, DatabaseDirectory + "/" + dir) -for dir in MapSourceDirectories: - mkPath(log, DatabaseDirectory + "/" + dir) + +# Setup pipeline lookup directories +printLog(log, ">>> Setup pipeline lookup directories <<<") +for dir in MapLookupDirectories: + mkPath(log, ExportBuildDirectory + "/" + dir) # Setup export directories printLog(log, ">>> Setup export directories <<<") @@ -69,8 +72,8 @@ mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ShapeClientDirectory) -mkPath(log, ClientDataDirectory + "/" + LightmapClientDirectory) +mkPath(log, InstallDirectory + "/" + ShapeInstallDirectory) +mkPath(log, InstallDirectory + "/" + LightmapInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/shape/2_build.py b/code/nel/tools/build_gamedata/processes/shape/2_build.py index 60873e12a..25f421ad1 100644 --- a/code/nel/tools/build_gamedata/processes/shape/2_build.py +++ b/code/nel/tools/build_gamedata/processes/shape/2_build.py @@ -111,8 +111,8 @@ if len(CoarseMeshTextureNames) > 0: cf.write("search_path = \n") cf.write("{\n") cf.write("\t\"" + shapeWithCoarseMesh + "\", \n") - for dir in MapSourceDirectories: - cf.write("\t\"" + DatabaseDirectory + "/" + dir + "\", \n") + for dir in MapLookupDirectories: + cf.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n") cf.write("};\n") cf.write("\n") cf.write("list_mesh = \n") diff --git a/code/nel/tools/build_gamedata/processes/shape/3_install.py b/code/nel/tools/build_gamedata/processes/shape/3_install.py index 393216e8f..0d206f530 100644 --- a/code/nel/tools/build_gamedata/processes/shape/3_install.py +++ b/code/nel/tools/build_gamedata/processes/shape/3_install.py @@ -44,24 +44,24 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install shape <<<") -clientPath = ClientDataDirectory + "/" + ShapeClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + ShapeInstallDirectory +mkPath(log, installPath) mkPath(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, clientPath, ".shape") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeClodtexBuildDirectory, installPath, ".shape") mkPath(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".shape") -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, clientPath, ".dds") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, installPath, ".shape") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeWithCoarseMeshBuildDirectory, installPath, ".dds") mkPath(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory, clientPath, ".anim") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeAnimExportDirectory, installPath, ".anim") # ls anim | grep ".anim" >> $client_directory/auto_animations_list.txt printLog(log, ">>> Install shape lightmaps <<<") -clientPath = ClientDataDirectory + "/" + LightmapClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + LightmapInstallDirectory +mkPath(log, installPath) mkPath(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory, clientPath, ".tga") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + ShapeLightmap16BitsBuildDirectory, installPath, ".tga") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py b/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py index e72948c6f..deffd0d9d 100644 --- a/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py @@ -46,18 +46,16 @@ printLog(log, "") # Setup source directories printLog(log, ">>> Setup source directories <<<") mkPath(log, LeveldesignDirectory) -mkPath(log, LeveldesignDfnDirectory) +mkPath(log, LeveldesignWorldDirectory) # Setup export directories printLog(log, ">>> Setup export directories <<<") # Setup build directories printLog(log, ">>> Setup build directories <<<") -mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SheetIdClientDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py b/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py index aebadb110..f935a4500 100644 --- a/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py +++ b/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py @@ -53,9 +53,8 @@ if MakeSheetId == "": toolLogFail(log, MakeSheetIdTool, ToolSuffix) else: mkPath(log, LeveldesignDirectory) - mkPath(log, LeveldesignDfnDirectory) - mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) - subprocess.call([ MakeSheetId, "-c" + ScriptDirectory + "/configuration/make_sheet_id.cfg", "-o" + ExportBuildDirectory + "/" + SheetIdBuildDirectory + "/" + "sheet_id.bin", LeveldesignDirectory ]) + mkPath(log, LeveldesignWorldDirectory) + subprocess.call([ MakeSheetId, "-o" + LeveldesignDirectory + "/game_elem/sheet_id.bin", LeveldesignDirectory + "/game_elem", LeveldesignDirectory + "/game_element", LeveldesignWorldDirectory ]) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py b/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py index 72ef526aa..736db921c 100644 --- a/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py +++ b/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py @@ -43,13 +43,6 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SheetIdClientDirectory -mkPath(log, clientPath) - -printLog(log, ">>> Install sheet_id <<<") -mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory, clientPath, ".bin") - printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheets/0_setup.py b/code/nel/tools/build_gamedata/processes/sheets/0_setup.py index 3f13ff715..4cee78e17 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/sheets/0_setup.py @@ -47,18 +47,20 @@ printLog(log, "") printLog(log, ">>> Setup source directories <<<") mkPath(log, LeveldesignDirectory) mkPath(log, LeveldesignDfnDirectory) +mkPath(log, DataCommonDirectory) +mkPath(log, GamedevDirectory) +mkPath(log, PrimitivesDirectory) # Setup export directories printLog(log, ">>> Setup export directories <<<") # Setup build directories printLog(log, ">>> Setup build directories <<<") -mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) mkPath(log, ExportBuildDirectory + "/" + SheetsBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SheetsClientDirectory) +mkPath(log, InstallDirectory + "/" + SheetsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheets/2_build.py b/code/nel/tools/build_gamedata/processes/sheets/2_build.py index 0b439ab4b..511b05004 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/2_build.py +++ b/code/nel/tools/build_gamedata/processes/sheets/2_build.py @@ -44,19 +44,39 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # Find tools -BuildSheets = findTool(log, ToolDirectories, BuildSheetsTool, ToolSuffix) +SheetsPacker = findTool(log, ToolDirectories, SheetsPackerTool, ToolSuffix) printLog(log, "") # For each sheets directory printLog(log, ">>> Build sheets <<<") -if BuildSheets == "": - toolLogFail(log, BuildSheetsTool, ToolSuffix) +if SheetsPacker == "": + toolLogFail(log, SheetsPackerTool, ToolSuffix) else: mkPath(log, LeveldesignDirectory) mkPath(log, LeveldesignDfnDirectory) - mkPath(log, ExportBuildDirectory + "/" + SheetIdBuildDirectory) + mkPath(log, DataCommonDirectory) + mkPath(log, GamedevDirectory) + mkPath(log, PrimitivesDirectory) mkPath(log, ExportBuildDirectory + "/" + SheetsBuildDirectory) - subprocess.call([ BuildSheets, LeveldesignDirectory, LeveldesignDfnDirectory, ExportBuildDirectory + "/" + SheetIdBuildDirectory, ExportBuildDirectory + "/" + SheetsBuildDirectory ]) + cf = open("sheets_packer.cfg", "w") + cf.write("\n") + cf.write("// SHEETS PACKER CONFIG FILE\n") + cf.write("\n") + cf.write("DataPath = \n") + cf.write("{\n") + cf.write("\t\"" + LeveldesignDirectory + "\", \n") + cf.write("\t\"" + LeveldesignDfnDirectory + "\", \n") + cf.write("\t\"" + DataCommonDirectory + "\", \n") + cf.write("\t\"" + GamedevDirectory + "\", \n") + cf.write("\t\"" + PrimitivesDirectory + "\", \n") + cf.write("};\n") + cf.write("WorldSheet = \"" + WorldSheet + "\";\n") + cf.write("PrimitivesPath = \"" + PrimitivesDirectory + "\";\n") + cf.write("OutputDataPath = \"" + ExportBuildDirectory + "/" + SheetsBuildDirectory + "\";\n") + cf.write("LigoPrimitiveClass = \"" + LigoPrimitiveClass + "\";\n") + cf.write("\n") + cf.close() + subprocess.call([ SheetsPacker ]) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheets/3_install.py b/code/nel/tools/build_gamedata/processes/sheets/3_install.py index 9ea39b797..98b5cb825 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/3_install.py +++ b/code/nel/tools/build_gamedata/processes/sheets/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SheetsClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + SheetsInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install sheets <<<") mkPath(log, ExportBuildDirectory + "/" + SheetsBuildDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetsBuildDirectory, clientPath, ".packed_sheets") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetsBuildDirectory, installPath, ".packed_sheets") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/skel/0_setup.py b/code/nel/tools/build_gamedata/processes/skel/0_setup.py index c45805523..5b55bce40 100644 --- a/code/nel/tools/build_gamedata/processes/skel/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/skel/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SkelClientDirectory) +mkPath(log, InstallDirectory + "/" + SkelInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/skel/1_export.py b/code/nel/tools/build_gamedata/processes/skel/1_export.py index b468ed7d8..af73024c5 100644 --- a/code/nel/tools/build_gamedata/processes/skel/1_export.py +++ b/code/nel/tools/build_gamedata/processes/skel/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export skel -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export skel diff --git a/code/nel/tools/build_gamedata/processes/skel/3_install.py b/code/nel/tools/build_gamedata/processes/skel/3_install.py index a3b2c874d..b705f482c 100644 --- a/code/nel/tools/build_gamedata/processes/skel/3_install.py +++ b/code/nel/tools/build_gamedata/processes/skel/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SkelClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + SkelInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install skel <<<") mkPath(log, ExportBuildDirectory + "/" + SkelExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SkelExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SkelExportDirectory, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py b/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py index 9ed9ad5a0..4b2b65be5 100644 --- a/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py @@ -56,7 +56,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + BankClientDirectory) +mkPath(log, InstallDirectory + "/" + BankInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/smallbank/3_install.py b/code/nel/tools/build_gamedata/processes/smallbank/3_install.py index b1093c043..ae3d3b8c7 100644 --- a/code/nel/tools/build_gamedata/processes/smallbank/3_install.py +++ b/code/nel/tools/build_gamedata/processes/smallbank/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + BankClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + BankInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install smallbank <<<") mkPath(log, ExportBuildDirectory + "/" + SmallbankExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SmallbankExportDirectory, clientPath, ".smallbank") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SmallbankExportDirectory, installPath, ".smallbank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sound/0_setup.py b/code/nel/tools/build_gamedata/processes/sound/0_setup.py index ec039517a..b3e9ada60 100644 --- a/code/nel/tools/build_gamedata/processes/sound/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/sound/0_setup.py @@ -59,8 +59,8 @@ mkPath(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SoundSheetsClientDirectory) -mkPath(log, ClientDataDirectory + "/" + SoundSamplebanksClientDirectory) +mkPath(log, InstallDirectory + "/" + SoundSheetsInstallDirectory) +mkPath(log, InstallDirectory + "/" + SoundSamplebanksInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/sound/3_install.py b/code/nel/tools/build_gamedata/processes/sound/3_install.py index 90bd31d42..6184c48be 100644 --- a/code/nel/tools/build_gamedata/processes/sound/3_install.py +++ b/code/nel/tools/build_gamedata/processes/sound/3_install.py @@ -45,13 +45,13 @@ printLog(log, "") printLog(log, ">>> Install sound packed_sheets <<<") mkPath(log, ExportBuildDirectory + "/" + SoundSheetsBuildDirectory) -mkPath(log, ClientDataDirectory + "/" + SoundSheetsClientDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSheetsBuildDirectory, ClientDataDirectory + "/" + SoundSheetsClientDirectory, ".packed_sheets") +mkPath(log, InstallDirectory + "/" + SoundSheetsInstallDirectory) +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSheetsBuildDirectory, InstallDirectory + "/" + SoundSheetsInstallDirectory, ".packed_sheets") printLog(log, ">>> Install sound samplebanks <<<") mkPath(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory) -mkPath(log, ClientDataDirectory + "/" + SoundSamplebanksClientDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory, ClientDataDirectory + "/" + SoundSamplebanksClientDirectory, ".sample_bank") +mkPath(log, InstallDirectory + "/" + SoundSamplebanksInstallDirectory) +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SoundSamplebanksBuildDirectory, InstallDirectory + "/" + SoundSamplebanksInstallDirectory, ".sample_bank") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/swt/0_setup.py b/code/nel/tools/build_gamedata/processes/swt/0_setup.py index 28da85a07..d00e67eed 100644 --- a/code/nel/tools/build_gamedata/processes/swt/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/swt/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + SwtClientDirectory) +mkPath(log, InstallDirectory + "/" + SwtInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/swt/1_export.py b/code/nel/tools/build_gamedata/processes/swt/1_export.py index 9ac863866..3b8da1d0f 100644 --- a/code/nel/tools/build_gamedata/processes/swt/1_export.py +++ b/code/nel/tools/build_gamedata/processes/swt/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export swt -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export swt diff --git a/code/nel/tools/build_gamedata/processes/swt/3_install.py b/code/nel/tools/build_gamedata/processes/swt/3_install.py index 76ce2edaf..912af9625 100644 --- a/code/nel/tools/build_gamedata/processes/swt/3_install.py +++ b/code/nel/tools/build_gamedata/processes/swt/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + SwtClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + SwtInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install skeleton weigths <<<") mkPath(log, ExportBuildDirectory + "/" + SwtExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SwtExportDirectory, clientPath) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SwtExportDirectory, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/tiles/0_setup.py b/code/nel/tools/build_gamedata/processes/tiles/0_setup.py index 8657a63cb..83673e4e1 100644 --- a/code/nel/tools/build_gamedata/processes/tiles/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/tiles/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + TilesClientDirectory) +mkPath(log, InstallDirectory + "/" + TilesInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/tiles/3_install.py b/code/nel/tools/build_gamedata/processes/tiles/3_install.py index 39b8ac141..c8ee504e2 100644 --- a/code/nel/tools/build_gamedata/processes/tiles/3_install.py +++ b/code/nel/tools/build_gamedata/processes/tiles/3_install.py @@ -44,9 +44,9 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") printLog(log, ">>> Install tiles <<<") -mkPath(log, ClientDataDirectory + "/" + TilesClientDirectory) +mkPath(log, InstallDirectory + "/" + TilesInstallDirectory) mkPath(log, ExportBuildDirectory + "/" + TilesExportDirectory) -copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + TilesExportDirectory, ClientDataDirectory + "/" + TilesClientDirectory) +copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + TilesExportDirectory, InstallDirectory + "/" + TilesInstallDirectory) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/veget/0_setup.py b/code/nel/tools/build_gamedata/processes/veget/0_setup.py index 5c41088e8..67f7211aa 100644 --- a/code/nel/tools/build_gamedata/processes/veget/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/veget/0_setup.py @@ -58,7 +58,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + VegetClientDirectory) +mkPath(log, InstallDirectory + "/" + VegetInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/veget/1_export.py b/code/nel/tools/build_gamedata/processes/veget/1_export.py index 9dec2c5e4..86a9d770b 100644 --- a/code/nel/tools/build_gamedata/processes/veget/1_export.py +++ b/code/nel/tools/build_gamedata/processes/veget/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export veget -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export veget diff --git a/code/nel/tools/build_gamedata/processes/veget/3_install.py b/code/nel/tools/build_gamedata/processes/veget/3_install.py index 69a2ec539..a772e4d53 100644 --- a/code/nel/tools/build_gamedata/processes/veget/3_install.py +++ b/code/nel/tools/build_gamedata/processes/veget/3_install.py @@ -46,9 +46,9 @@ printLog(log, "") printLog(log, ">>> Install veget <<<") exportPath = ExportBuildDirectory + "/" + VegetExportDirectory mkPath(log, exportPath) -clientPath = ClientDataDirectory + "/" + VegetClientDirectory -mkPath(log, clientPath) -copyFilesNoTreeIfNeeded(log, exportPath, clientPath) +installPath = InstallDirectory + "/" + VegetInstallDirectory +mkPath(log, installPath) +copyFilesNoTreeIfNeeded(log, exportPath, installPath) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py b/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py index 8fd055f3c..5b820b133 100644 --- a/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py @@ -57,7 +57,7 @@ printLog(log, ">>> Setup build directories <<<") # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + VegetSetClientDirectory) +mkPath(log, InstallDirectory + "/" + VegetSetInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/vegetset/3_install.py b/code/nel/tools/build_gamedata/processes/vegetset/3_install.py index 94a3e4c0b..fffb0e204 100644 --- a/code/nel/tools/build_gamedata/processes/vegetset/3_install.py +++ b/code/nel/tools/build_gamedata/processes/vegetset/3_install.py @@ -43,12 +43,12 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -clientPath = ClientDataDirectory + "/" + VegetSetClientDirectory -mkPath(log, clientPath) +installPath = InstallDirectory + "/" + VegetSetInstallDirectory +mkPath(log, installPath) printLog(log, ">>> Install vegetset <<<") mkPath(log, ExportBuildDirectory + "/" + VegetSetExportDirectory) -copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + VegetSetExportDirectory, clientPath, ".vegetset") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + VegetSetExportDirectory, installPath, ".vegetset") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/zone/0_setup.py b/code/nel/tools/build_gamedata/processes/zone/0_setup.py index e6dc014d9..3f5fd835f 100644 --- a/code/nel/tools/build_gamedata/processes/zone/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/zone/0_setup.py @@ -58,7 +58,7 @@ mkPath(log, ExportBuildDirectory + "/" + ZoneWeldBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ZoneClientDirectory) +mkPath(log, InstallDirectory + "/" + ZoneInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/zone/1_export.py b/code/nel/tools/build_gamedata/processes/zone/1_export.py index d8b936d2a..8b34753c9 100644 --- a/code/nel/tools/build_gamedata/processes/zone/1_export.py +++ b/code/nel/tools/build_gamedata/processes/zone/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export zone -# \date 2010-09-03-12-46-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export zone diff --git a/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py b/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py index 7ce53d05c..4b9b62cc2 100644 --- a/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py @@ -63,9 +63,9 @@ mkPath(log, ExportBuildDirectory + "/" + IgLandBuildDirectory) # Setup client directories printLog(log, ">>> Setup client directories <<<") -mkPath(log, ClientDataDirectory + "/" + ZoneClientDirectory) -mkPath(log, ClientDataDirectory + "/" + IgClientDirectory) -mkPath(log, ClientDataDirectory + "/" + WaterMapsClientDirectory) +mkPath(log, InstallDirectory + "/" + ZoneInstallDirectory) +mkPath(log, InstallDirectory + "/" + IgInstallDirectory) +mkPath(log, InstallDirectory + "/" + WaterMapsInstallDirectory) log.close() diff --git a/code/nel/tools/build_gamedata/processes/zone_light/3_install.py b/code/nel/tools/build_gamedata/processes/zone_light/3_install.py index 0edfe83dc..062031bb4 100644 --- a/code/nel/tools/build_gamedata/processes/zone_light/3_install.py +++ b/code/nel/tools/build_gamedata/processes/zone_light/3_install.py @@ -46,21 +46,21 @@ printLog(log, "") printLog(log, ">>> Install zone_light zones <<<") srcDir = ExportBuildDirectory + "/" + ZoneLightBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + ZoneClientDirectory +destDir = InstallDirectory + "/" + ZoneInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) printLog(log, ">>> Install zone_light water maps <<<") srcDir = ExportBuildDirectory + "/" + ZoneLightWaterShapesLightedExportDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + WaterMapsClientDirectory +destDir = InstallDirectory + "/" + WaterMapsInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) printLog(log, ">>> Install zone_light igs <<<") srcDir = ExportBuildDirectory + "/" + ZoneLightIgLandBuildDirectory mkPath(log, srcDir) -destDir = ClientDataDirectory + "/" + IgClientDirectory +destDir = InstallDirectory + "/" + IgInstallDirectory mkPath(log, destDir) copyFilesNoTreeIfNeeded(log, srcDir, destDir) diff --git a/code/nel/tools/build_gamedata/work_in_progress b/code/nel/tools/build_gamedata/work_in_progress deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/ryzom/tools/build_gamedata/work_in_progress b/code/ryzom/tools/build_gamedata/work_in_progress deleted file mode 100644 index e69de29bb..000000000 diff --git a/code/ryzom/tools/build_gamedata/workspace/common/cfg/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/cfg/directories.py new file mode 100644 index 000000000..7ed25452c --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/cfg/directories.py @@ -0,0 +1,82 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-08-27 17:13GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** COMMON NAMES AND PATHS *** +CommonName = "cfg" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** SPECIAL SOURCES *** + +# Copy dir directories +CopyWindowsExeDllCfgSourceFiles = [ ] + +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_1.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_2.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_3.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_cpu_4.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_1.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_2.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_3.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_gpu_4.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_ram_256.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_ram_512.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_sound_buffer.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_vram_32.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_vram_64.cfg" ] +CopyWindowsExeDllCfgSourceFiles += [ "client_vram_128.cfg" ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Copy +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/cfg/process.py b/code/ryzom/tools/build_gamedata/workspace/common/cfg/process.py new file mode 100644 index 000000000..5a8279c05 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/cfg/process.py @@ -0,0 +1,37 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-08-27 17:02GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "cfg" +CommonPath = "common/" + CommonName + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters/anim_builder.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters/anim_builder.cfg new file mode 100644 index 000000000..08128b23e --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters/anim_builder.cfg @@ -0,0 +1,15 @@ + +// *************************** +// Animation Optimizer +// *************************** + +// Tracks which contain one of those name (eg "Bip01 Finger11.rotquat") will be mark as "Low Precision". +// Usefull for memory optimisation. Avoid setting legs or root bones. Warning: case sensitive. +anim_low_precision_tracks= +{ +"Finger", +"Ponytail", +}; + +// The Sample Rate. +anim_sample_rate= 30; diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py new file mode 100644 index 000000000..b2a63d5fb --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py @@ -0,0 +1,188 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-08-27 17:13GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters" +EcosystemPath = "common/" + EcosystemName +ContinentName = EcosystemName +ContinentPath = EcosystemPath +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Skeleton directories +SkelSourceDirectories = [ ] +SkelSourceDirectories += [ "stuff/fyros/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/fyros/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/tryker/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/tryker/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/zorai/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/zorai/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/matis/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/matis/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/matis/agents/actors/roadsign/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/caravan/agents/actors/male/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/caravan/agents/actors/female/animation/skeletons" ] +SkelSourceDirectories += [ "stuff/caravan/agents/actors/ship/animation/skeletons" ] + +# Skeleton template weight directories +SwtSourceDirectories = [ ] +SwtSourceDirectories += [ "stuff/fyros/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/fyros/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/tryker/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/tryker/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/matis/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/matis/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/zorai/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/zorai/agents/actors/female/animation/swt" ] +SwtSourceDirectories += [ "stuff/caravan/agents/actors/male/animation/swt" ] +SwtSourceDirectories += [ "stuff/caravan/agents/actors/female/animation/swt" ] + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/fyros/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/tryker/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/matis/agents/actors/roadsign" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/zorai/agents/actors/bots" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/visages" ] +ShapeSourceDirectories += [ "stuff/caravan/agents/actors/ship" ] +ShapeSourceDirectories += [ "stuff/generique/agents/actors/female" ] +ShapeSourceDirectories += [ "stuff/generique/agents/actors/male" ] + +# Animation directories +AnimSourceDirectories = [ ] +AnimSourceDirectories += [ "stuff/fyros/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/fyros/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/tryker/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/tryker/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/matis/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/matis/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/matis/agents/actors/roadsign/animation/anims" ] +AnimSourceDirectories += [ "stuff/zorai/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/zorai/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/caravan/agents/actors/male/animation/anims" ] +AnimSourceDirectories += [ "stuff/caravan/agents/actors/female/animation/anims" ] +AnimSourceDirectories += [ "stuff/caravan/agents/actors/ship/animation/anims" ] + +# cLoD shape directories +ClodSourceDirectories = [ ] +ClodSourceDirectories += [ "stuff/lod_actors/lod_" + CommonName ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories used by shape +MapLookupDirectories = [ ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Skeleton directories +SkelExportDirectory = CommonPath + "/skel" + +# Skeleton template weight directories +SwtExportDirectory = CommonPath + "/swt" + +# Shape directories +ShapeTagExportDirectory = CommonPath + "/shape_tag" +ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized" +ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh" +ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized" +ShapeAnimExportDirectory = CommonPath + "/shape_anim" + +# Animation directories +AnimExportDirectory = CommonPath + "/anim_export" + +# cLoD directories +ClodExportDirectory = CommonPath + "/clod_export" +ClodTagExportDirectory = CommonPath + "/clod_tag_export" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# Shape directories +ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" +ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded" +ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap" +ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" + +# Animation directories +AnimBuildDirectory = CommonPath + "/anim" + +# cLoD directories +ClodBankBuildDirectory = CommonPath + "/clod_bank" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" +LightmapInstallDirectory = ShapeInstallDirectory + +# Animation directory +AnimInstallDirectory = CommonName + "_animations" + +# Skeleton directory +SkelInstallDirectory = CommonName + "_skeletons" + +# Skeleton directory +SwtInstallDirectory = CommonName + "_swt" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters/process.py b/code/ryzom/tools/build_gamedata/workspace/common/characters/process.py new file mode 100644 index 000000000..89dbf1d89 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters/process.py @@ -0,0 +1,108 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-08-27 17:02GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "skel" ] +ProcessToComplete += [ "swt" ] +ProcessToComplete += [ "shape" ] +ProcessToComplete += [ "anim" ] +ProcessToComplete += [ "clodbank" ] + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters" +EcosystemPath = "common/" + EcosystemName +ContinentName = EcosystemName +ContinentPath = EcosystemPath +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SHAPE EXPORT OPTIONS *** + +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" + +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" + +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 0 + +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" + +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 + +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" + +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" + +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" + +DoBuildShadowSkin = 0 + + +#panoply_file_list = panoply_files.txt ??? +#hls_bank_file_name = characters.hlsbank ??? + + + +# *** CLODBANK OPTIONS *** + +ClodConfigFile = "stuff/lod_actors/lod_" + CommonName + "/clod_char_script.cfg" +ClodBankFileName = CommonName + ".clodbank" + + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + + +# *** SHADOW SKIN OPTIONS *** +# Characters are made of approx 4000 polys with multiple Skins binded (legs, short, torso...). 35% => 1400 polys. +BuildShadowSkin = 1 +BuildShadowSkinRatio = 35 +BuildShadowSkinMaxface = 2000 + + +# *** ANIMATIONS OPTIONS *** + +DoOptimizeAnimations = 1 diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/directories.py new file mode 100644 index 000000000..2e516872f --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/directories.py @@ -0,0 +1,78 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-08-27 17:13GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters_maps_hr" +EcosystemPath = "common/" + EcosystemName +ContinentName = EcosystemName +ContinentPath = EcosystemPath +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/caravan/agents/_textures/actors" ] +MapSourceDirectories += [ "stuff/caravan/agents/_textures/actors/visages" ] + +MapUncompressedSourceDirectories = [ ] + +MapPanoplySourceDirectories = [ ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_matis.cfg" ] + [ "stuff/matis/agents/_textures/actors" ] + [ "stuff/matis/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_tryker.cfg" ] + [ "stuff/tryker/agents/_textures/actors" ] + [ "stuff/tryker/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_fyros.cfg" ] + [ "stuff/fyros/agents/_textures/actors" ] + [ "stuff/fyros/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_zorai.cfg" ] + [ "stuff/zorai/agents/_textures/actors" ] + [ "stuff/zorai/agents/_textures/actors/mask" ] ] +MapPanoplySourceDirectories += [ [ "panoply_common.cfg" ] + [ "panoply_generique.cfg" ] + [ "stuff/generique/agents/_textures/actors" ] + [ "stuff/generique/agents/_textures/actors/mask" ] ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Map directory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_common.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_common.cfg new file mode 100644 index 000000000..ad93114b0 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_common.cfg @@ -0,0 +1,64 @@ + +// A character that is used to generate output names when a mask is not defined for a texture. +default_col_char = "_"; +// default ascii character for unused masks +default_separator = "_"; + +// output format +output_format = "tga"; + +// the types of bitmaps that must be loaded from the source folder +bitmap_extensions = { "TGA", "tga", "PNG", "png" }; + +// tranform 512*512 to 64*64 by default +// low_def_shift = 3; + +///////////////////////////////////////////// + +// Let's define colors for mask1 +// hues are in the [0, 360] range and are interpreted as an absolute value +// 0 Red +// 60 Yellow +// 120 Green +// 180 Cyan +// 240 Blue +// 300 Magenta + +// lightness are in the [-1, 1] range and are interpreted as a relative value +// brightness are in the [-1, 1] range and are interpreted as a relative value + +// luminosities is interpreted as an added gray level. It usually ranges from -100 to 100 (like with photoshop) +// A luminositie of 0 means it is unmodified +// contrasts modulate the distance between colors components and the avg grey in the bitmap +// If the contrasts is 0 we got unmodified color. +// If the contrast is 100 the colors becomes pure +// If the contrast is -100 the colors becomes grey + +///////////////////////////////////////////// + +//skin_hues = { 30, 40, 35, 220 }; +skin_hues = { 23, 28, 27, 220 }; +skin_lightness = { -0.1, 0.1, 0.0, -0.2 }; +skin_saturations = { 0.05, -0.15, 0.0, -0.3 }; + +skin_luminosities = { 0.0, 0.0, 0.0, 0.0 }; +skin_constrasts = { 0.0, 0.0, 0.0, 0.0 }; + +// the color ids define the letters that are used to build the file +skin_color_id = { "FY", "MA", "TR", "ZO" }; + +///////////////////////////////////////////// + +//user_hues = { 0, 35, 80, 150, 210, 250, 0, 0 }; +user_hues = { 10, 30, 78, 153, 212, 345, 35, 235 }; +user_lightness = { 0.0, 0.0, 0.0, -0.05, 0.0, 0.0, 0.1, -0.1 }; +user_saturations = { 0.3, 0.2, 0.1, 0.25, -0.02, 0.0, -0.2, -0.25 }; + +user_luminosities = { -20, 0, -10, -20, -30, -35, 50, -30 }; +user_constrasts = { 0, 0, 5, 5, 7, 10, 40, -10 }; + +// the color ids define the letters that are used to build the file +//user_color_id = { "_A", "_B", "_C", "_D", "_E", "_F", "blanc", "noir" }; +user_color_id = { "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_fyros.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_fyros.cfg new file mode 100644 index 000000000..83240b242 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_fyros.cfg @@ -0,0 +1,31 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" ,"eyes" }; + +///////////////////////////////////////////// + +hair_hues = { 18, 42, 25, 10, 20, 240 }; +hair_lightness = { 0.1, 0.1, 0.1, 0.0, -0.1, -0.2 }; +hair_saturations = { -0.3, 0.2, 0.2, 0.4, 0.1, -0.3 }; + +hair_luminosities = { 25.0, 10.0, 10.0, 10.0, 1.0, 20.0 }; +hair_constrasts = {40.0, 65.0, 40.0, 20.0, 20.0, 50.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// + +eyes_hues = { 50, 40, 10, 02, 250, 180, 90, 130 }; +eyes_lightness = { 0.2, 0.0, -0.1, -0.2, -0.1, -0.1, -0.1, -0.2 }; +eyes_saturations = { -0.4, 0.2, 0.2, 0.1, -0.1, -0.2, -0.1, -0.2 }; + +eyes_luminosities = { 10.0, 5.0, 10.0, 00.0, 10.0, 30.0, 10.0, 0.0 }; +eyes_constrasts = { 20.0, 20.0, 20.0, 50.0, 40.0, 50.0, 40.0, 40.0 }; + +// the color ids define the letters that are used to build the file +eyes_color_id = { "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_matis.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_matis.cfg new file mode 100644 index 000000000..c1f394fbc --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_matis.cfg @@ -0,0 +1,31 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" ,"eyes" }; + +///////////////////////////////////////////// + +hair_hues = { 30, 35, 15, 20, 140, 240 }; +hair_lightness = { 0.1, 0.1, 0.1, 0.1, 0.0, -0.1 }; +hair_saturations = { -0.2, 0.2, -0.1, 0.1, -0.2, -0.3 }; + +hair_luminosities = { 25.0, 25.0, 20.0, 0.0, 40.0, 0.0 }; +hair_constrasts = {40.0, 60.0, 60.0, 40.0, 25.0, 10.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// + +eyes_hues = { 20, 30, 20, 200, 70, 130, 320, 200 }; +eyes_lightness = { 0.1, 0.0, -0.1, 0.0, 0.0, -0.1, -0.2, -0.2 }; +eyes_saturations = { -0.4, 0.2, 0.1, -0.2, -0.1, -0.2, -0.1, -0.3 }; + +eyes_luminosities = { 50.0, 5.0, 0.0, 20.0, 10.0, 20.0, 0.0, 0.0 }; +eyes_constrasts = { 40.0, 20.0, 50.0, 50.0, 40.0, 40.0, 20.0, 40.0 }; + +// the color ids define the letters that are used to build the file +eyes_color_id = { "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_tryker.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_tryker.cfg new file mode 100644 index 000000000..4e87ecd01 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_tryker.cfg @@ -0,0 +1,31 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" ,"eyes" }; + +///////////////////////////////////////////// + +hair_hues = { 140, 40, 20, 330, 300, 175 }; +hair_lightness = { 0.1, 0.1, -0.1, 0.0, -0.1, -0.2 }; +hair_saturations = { -0.3, 0.2, 0.1, 0.3, 0.1, 0.3 }; + +hair_luminosities = { 30.0, 20.0, 0.0, 10.0, 10.0, 0.0 }; +hair_constrasts = {40.0, 60.0, 30.0, 40.0, 40.0, 10.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// + +eyes_hues = { 60, 40, 10, 250, 70, 320, 10, 200 }; +eyes_lightness = { 0.2, 0.0, -0.1, 0.1, -0.1, -0.1, -0.2, -0.2 }; +eyes_saturations = { -0.4, 0.1, 0.1, 0.0, -0.1, 0.0, -0.1, -0.3 }; + +eyes_luminosities = { 10.0, 5.0, 0.0, 20.0, 10.0, 10.0, 0.0, 0.0 }; +eyes_constrasts = { 20.0, 20.0, 20.0, 40.0, 40.0, 40.0, 20.0, 40.0 }; + +// the color ids define the letters that are used to build the file +eyes_color_id = { "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_zorai.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_zorai.cfg new file mode 100644 index 000000000..ec0da6045 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_zorai.cfg @@ -0,0 +1,19 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" , "hair" }; + +///////////////////////////////////////////// + +hair_hues = { 40, 70, 100, 20, 200, 280 }; +hair_lightness = { 0.1, 0.0, -0.1, 0.0, 0.0, 0.0 }; +hair_saturations = { 0.3, 0.3, 0.3, 0.5, 0.3, 0.3 }; + +hair_luminosities = { 0.0, 0.0, 20.0, 0.0, 20.0, 20.0 }; +hair_constrasts = {50.0, 40.0, 30.0, 40.0, 40.0, 40.0 }; + +// the color ids define the letters that are used to build the file +hair_color_id = { "H1", "H2", "H3", "H4", "H5", "H6" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/process.py b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/process.py new file mode 100644 index 000000000..7ce7af501 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-08-27 17:02GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] + + +# *** COMMON NAMES AND PATHS *** +EcosystemName = "characters_maps_hr" +EcosystemPath = "common/" + EcosystemName +ContinentName = EcosystemName +ContinentPath = EcosystemPath +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SHAPE EXPORT OPTIONS *** + +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 0 +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" + +DoBuildShadowSkin = 0 +ClodConfigFile = "" + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + +# *** MAPS OPTIONS *** +ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = "panoply_files.txt" +# name of the .hlsbank to build. +MapHlsBankFileName = "characters.hlsbank" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py index 43e2095ee..68bf17aa7 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/construction/directories.py @@ -68,6 +68,25 @@ TileRootSourceDirectory = "landscape/_texture_tiles" DisplaceSourceDirectory = "landscape/_texture_tiles/displace" +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ CommonPath + "/ig_land" ] +IgLookupDirectories += [ CommonPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -100,6 +119,10 @@ ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -129,17 +152,17 @@ LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construct # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName +ShapeInstallDirectory = CommonName # Lightmap directory -LightmapClientDirectory = CommonName +LightmapInstallDirectory = CommonName # Animation directory -AnimClientDirectory = CommonName +AnimInstallDirectory = CommonName # Ig directory -IgClientDirectory = CommonName +IgInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py b/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py index 5d36f4c5c..4a72136e3 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/construction/process.py @@ -104,6 +104,10 @@ LigoTileBankFile = "" # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** ANIMATIONS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py new file mode 100644 index 000000000..4cf2384e9 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py @@ -0,0 +1,63 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-08-27 17:13GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +from buildsite import * + +# *** COMMON NAMES AND PATHS *** +CommonName = "data_common" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceDirectories += [ DataCommonDirectory ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Particule system directory +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py b/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py new file mode 100644 index 000000000..f868e1f94 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py @@ -0,0 +1,41 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-08-27 17:02GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "data_common" +CommonPath = "common/" + CommonName + + +# *** COPY DIR OPTIONS *** + + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py new file mode 100644 index 000000000..967111b05 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py @@ -0,0 +1,85 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-08-27 17:13GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** COMMON NAMES AND PATHS *** +CommonName = "exedll" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** SPECIAL SOURCES *** + +# Copy dir directories +CopyWindowsExeDllCfgSourceFiles = [ ] + +CopyWindowsExeDllCfgSourceFiles += [ "Microsoft.VC90.CRT.manifest" ] +CopyWindowsExeDllCfgSourceFiles += [ "msvcp90.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "msvcr90.dll" ] + +CopyWindowsExeDllCfgSourceFiles += [ "fmod.dll" ] + +CopyWindowsExeDllCfgSourceFiles += [ "client_default.cfg" ] + +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_direct3d_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_dsound_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_fmod_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_openal_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_opengl_win_r.dll" ] +CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_xaudio2_win_r.dll" ] + +CopyWindowsExeDllCfgSourceFiles += [ "client_ryzom_r.exe" ] +CopyWindowsExeDllCfgSourceFiles += [ "ryzom_configuration_r.exe" ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Copy +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/exedll/process.py b/code/ryzom/tools/build_gamedata/workspace/common/exedll/process.py new file mode 100644 index 000000000..7503248ee --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/exedll/process.py @@ -0,0 +1,37 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-08-27 17:02GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "exedll" +CommonPath = "common/" + CommonName + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py index bdaf079b7..5730a76a2 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/fauna/directories.py @@ -215,6 +215,23 @@ ClodSourceDirectories = [ ] ClodSourceDirectories += [ "stuff/lod_actors/lod_fauna" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -247,6 +264,10 @@ ClodTagExportDirectory = CommonPath + "/clod_tag_export" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -264,18 +285,18 @@ ClodBankBuildDirectory = CommonPath + "/clod_bank" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" -LightmapClientDirectory = ShapeClientDirectory +ShapeInstallDirectory = CommonName + "_shapes" +LightmapInstallDirectory = ShapeInstallDirectory # Animation directory -AnimClientDirectory = CommonName + "_animations" +AnimInstallDirectory = CommonName + "_animations" # Skeleton directory -SkelClientDirectory = CommonName + "_skeletons" +SkelInstallDirectory = CommonName + "_skeletons" # Skeleton directory -SwtClientDirectory = CommonName + "_swt" +SwtInstallDirectory = CommonName + "_swt" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py b/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py index 76e2cfc32..bf59b3165 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/fauna/process.py @@ -95,6 +95,10 @@ MultipleTilesPostfix += [ "_wi" ] # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHADOW SKIN OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py index 7840625f8..b8c3f0110 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/fonts/directories.py @@ -52,7 +52,7 @@ FontExportDirectory = CommonPath + "/font" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Font directory -FontClientDirectory = CommonName +FontInstallDirectory = CommonName # end of file diff --git a/code/ryzom/tools/build_gamedata/workspace/common/gamedev/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/directories.py new file mode 100644 index 000000000..cc8af2ee0 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/directories.py @@ -0,0 +1,63 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-08-27 17:13GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +from buildsite import * + +# *** COMMON NAMES AND PATHS *** +CommonName = "gamedev" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceDirectories += [ GamedevDirectory ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Particule system directory +CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/gamedev/process.py b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/process.py new file mode 100644 index 000000000..adf040877 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/gamedev/process.py @@ -0,0 +1,41 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-08-27 17:02GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "gamedev" +CommonPath = "common/" + CommonName + + +# *** COPY DIR OPTIONS *** + + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py index e733bea15..3ecf20b5d 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/interface/directories.py @@ -40,7 +40,7 @@ CommonPath = ContinentPath #Interface directories InterfaceSourceDirectories = [ ] -InterfaceSourceDirectories += [ [ "interfaces/v3" ] + [ "interfaces/ring_interface" ] ] +InterfaceSourceDirectories += [ [ "interfaces/v3" ] + [ "interfaces/r2_interface" ] ] InterfaceSourceDirectories += [ [ "interfaces/v3_outgame/ui" ] ] InterfaceSourceDirectories += [ [ "interfaces/v3_login" ] ] @@ -62,12 +62,14 @@ InterfaceFullscreenSourceDirectories += [ "interfaces/v3_doc/graph/spell" ] InterfaceFullscreenSourceDirectories += [ "interfaces/v3_doc/graph/talk_bot" ] InterfaceFullscreenSourceDirectories += [ "interfaces/v3_doc/graph/abilities_items" ] InterfaceFullscreenSourceDirectories += [ "interfaces/v3_quick_help/graph" ] +InterfaceFullscreenSourceDirectories += [ "interfaces/r2_decals" ] Interface3DSourceDirectories = [ ] Interface3DSourceDirectories += [ "interfaces/v3_outgame/3d" ] Interface3DSourceDirectories += [ "interfaces/v3_doc/htm" ] Interface3DSourceDirectories += [ "interfaces/v3_doc" ] Interface3DSourceDirectories += [ "interfaces/v3_quick_help" ] +Interface3DSourceDirectories += [ "interfaces/r2_3d" ] # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** @@ -89,4 +91,4 @@ InterfaceDxtcBuildDirectory = CommonPath + "/interface_dxtc_build" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Lightmap directory -InterfaceClientDirectory = "interfaces" +InterfaceInstallDirectory = "interfaces" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py b/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py index 29585bdcd..5e6b2fd0c 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/interface/process.py @@ -43,3 +43,7 @@ CommonPath = ContinentPath # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/directories.py new file mode 100644 index 000000000..b8ca09aa3 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/directories.py @@ -0,0 +1,77 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-08-27 17:13GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** COMMON NAMES AND PATHS *** +CommonName = "leveldesign" +CommonPath = "common/" + CommonName + + +# *** DIRECT SOURCE DIRECTORIES *** + +# Copy dir directories +CopyDirectSourceDirectories = [ ] +CopyDirectSourceFiles = [ ] + + +# *** SOURCE DIRECTORIES IN LEVELDESIGN *** +CopyLeveldesignSourceDirectories = [ ] +CopyLeveldesignSourceFiles = [ ] +CopyLeveldesignSourceFiles += [ "game_element/anim/mode2animset.string_array" ] +CopyLeveldesignSourceFiles += [ "game_elem/sheet_id.bin" ] +CopyLeveldesignWorldSourceDirectories = [ ] +CopyLeveldesignWorldSourceFiles = [ ] +CopyLeveldesignWorldSourceFiles += [ "static_fame.txt" ] +CopyLeveldesignDfnSourceDirectories = [ ] +CopyLeveldesignDfnSourceFiles = [ ] +CopyLeveldesignDfnSourceFiles += [ "game_elem/_creature/_creature_3d_eyes_color.typ" ] +CopyLeveldesignDfnSourceFiles += [ "game_elem/_creature/_creature_3d_hair_color.typ" ] +CopyLeveldesignDfnSourceFiles += [ "basics/string.typ" ] +CopyLeveldesignDfnSourceFiles += [ "game_elem/_anim/string_array.dfn" ] + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Copy dir directories +CopyDatabaseSourceDirectories = [ ] +CopyDatabaseSourceFiles = [ ] + + +# *** BUILD DIRECTORIES *** + +# Sheets +SheetsBuildDirectory = CommonPath + "/sheets" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Stuff +CopyInstallDirectory = CommonName + +# Sheets +SheetsInstallDirectory = "packedsheets" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/process.py b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/process.py new file mode 100644 index 000000000..bdc196c7e --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/leveldesign/process.py @@ -0,0 +1,44 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-08-27 17:02GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "sheet_id" ] +ProcessToComplete += [ "sheets" ] +ProcessToComplete += [ "copy" ] + + +# *** COMMON NAMES AND PATHS *** +CommonName = "leveldesign" +CommonPath = "common/" + CommonName + + +# *** SHEETS OPTIONS *** +WorldSheet = "ryzom.world" +LigoPrimitiveClass = "world_editor_classes.xml" + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py index 16497a95d..109ba59f7 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/objects/directories.py @@ -56,6 +56,23 @@ MapSourceDirectories += [ "stuff/caravan/agents/_textures/accessories" ] MapUncompressedSourceDirectories = [ ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -75,6 +92,10 @@ ShapeAnimExportDirectory = CommonPath + "/shape_anim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -86,13 +107,13 @@ ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = "objects" +MapInstallDirectory = "objects" # Map directory -BitmapClientDirectory = MapClientDirectory +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = "objects" +ShapeInstallDirectory = "objects" # Lightmap directory -LightmapClientDirectory = "objects" +LightmapInstallDirectory = "objects" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py b/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py index cdd53ce02..4134bfc80 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/objects/process.py @@ -75,3 +75,7 @@ MultipleTilesPostfix += [ "_wi" ] # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py index 500f9ac0c..e0b643561 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/outgame/directories.py @@ -68,6 +68,25 @@ TileRootSourceDirectory = "landscape/_texture_tiles" DisplaceSourceDirectory = "landscape/_texture_tiles/displace" +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ CommonPath + "/ig_land" ] +IgLookupDirectories += [ CommonPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -100,6 +119,10 @@ ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -129,17 +152,17 @@ LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construct # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName +ShapeInstallDirectory = CommonName # Lightmap directory -LightmapClientDirectory = CommonName +LightmapInstallDirectory = CommonName # Animation directory -AnimClientDirectory = CommonName +AnimInstallDirectory = CommonName # Ig directory -IgClientDirectory = CommonName +IgInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py b/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py index 37950fd34..d6fd63919 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/outgame/process.py @@ -104,6 +104,10 @@ LigoTileBankFile = "" # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** ANIMATIONS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py index e32efbf13..d2397ce50 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sfx/directories.py @@ -60,6 +60,23 @@ ShapeSourceDirectories += [ "sfx/meshtoparticle" ] MapUncompressedSourceDirectories = [ ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -82,6 +99,10 @@ PsExportDirectory = CommonPath + "/ps" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -93,14 +114,14 @@ ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Particule system directory -PsClientDirectory = "sfx" +PsInstallDirectory = "sfx" # Map directory -MapClientDirectory = "sfx" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = "sfx" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = "sfx" +ShapeInstallDirectory = "sfx" # Lightmap directory -LightmapClientDirectory = "sfx" +LightmapInstallDirectory = "sfx" diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py b/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py index a2f63c1ef..ccbecb9b7 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sfx/process.py @@ -85,3 +85,7 @@ MultipleTilesPostfix += [ "_wi" ] # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py index eac798b0d..b1c52fefe 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sky/directories.py @@ -81,6 +81,25 @@ AnimSourceDirectories = [ ] AnimSourceDirectories += [ "sky_v2/max" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ CommonPath + "/ig_land" ] +IgLookupDirectories += [ CommonPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +# ShapeLookupDirectories += [ CommonPath + "/ps" ] +ShapeLookupDirectories += [ CommonPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ CommonPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ CommonPath + "/map_export" ] +MapLookupDirectories += [ CommonPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -116,6 +135,10 @@ AnimExportDirectory = CommonPath + "/anim_export" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -148,17 +171,17 @@ AnimBuildDirectory = CommonPath + "/anim" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName +ShapeInstallDirectory = CommonName # Lightmap directory -LightmapClientDirectory = CommonName +LightmapInstallDirectory = CommonName # Animation directory -AnimClientDirectory = CommonName +AnimInstallDirectory = CommonName # Ig directory -IgClientDirectory = CommonName +IgInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py b/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py index 7dcffade5..e32a883d9 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/sky/process.py @@ -110,6 +110,10 @@ LigoTileBankFile = "" # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** ANIMATIONS OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/fyros/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/directories.py new file mode 100644 index 000000000..7ca2c5eea --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/directories.py @@ -0,0 +1,131 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "fyros" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/fyros/city" ] +ShapeSourceDirectories += [ "stuff/fyros/sky" ] +ShapeSourceDirectories += [ "landscape/water/meshes/desert" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_mairie" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/fyros/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/fyros/city/_textures" ] +MapSourceDirectories += [ "stuff/fyros/sky" ] +MapSourceDirectories += [ "landscape/water/meshes/desert" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# Shape directories +ShapeTagExportDirectory = CommonPath + "/shape_tag" +ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized" +ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh" +ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized" +ShapeAnimExportDirectory = CommonPath + "/shape_anim" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# Shape directories +ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" +ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded" +ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap" +ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/fyros/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/process.py new file mode 100644 index 000000000..570c4d04f --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/fyros/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "fyros" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SHAPE EXPORT OPTIONS *** +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 1 +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" +DoBuildShadowSkin = 0 +ClodConfigFile = "" + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + +# *** MAPS OPTIONS *** +ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/directories.py new file mode 100644 index 000000000..778567df8 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/directories.py @@ -0,0 +1,262 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# \date 2001-2005 +# \author Nevrax +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "indoors" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_appart_joueur" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_hall_conseil" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_hall_reunion_vitrine" ] +ShapeSourceDirectories += [ "stuff/fyros/decors/constructions/fy_cn_salle_npc" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/appart_joueur" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/hall_du_conseil" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/hall_vitrine_hall_reunion" ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions/salle_npc" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/hall_conseil" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/hall_vitrine_reunion" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/piece_npc" ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions/tr_appart" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/Appart_joueur" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/hall_conseil" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/hall_reunion_vitrine" ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions/salle_npc" ] + +# Ligo directories +LigoBaseSourceDirectory = "landscape/ligo/" + EcosystemName +LigoMaxSourceDirectory = LigoBaseSourceDirectory + "/max" + +# Zone directories +ZoneSourceDirectory = [ "landscape/zones/" + ContinentName ] # For old snowballs style landscape when not using ligo + +# Ig directories +IgLandSourceDirectories = [ ] +IgOtherSourceDirectories = [ ] +for dir in ShapeSourceDirectories: + IgOtherSourceDirectories += [ dir ] +IgPrimitiveSourceDirectories = [ ] + +# RBank directories +RBankCmbSourceDirectories = [ ] +for dir in ShapeSourceDirectories: + RBankCmbSourceDirectories += [ dir ] + +# Tiles root directory +TileRootSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + +# Displace directory +DisplaceSourceDirectory = "landscape/_texture_tiles/" + EcosystemName + "/displace" + +# Ligo primitive directory used in the client +PsSourceDirectories = [ ] +PsSourceDirectories += [ "primitive_microlife/" + ContinentName ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] +IgLookupDirectories += [ ContinentPath + "/ig_land" ] +IgLookupDirectories += [ ContinentPath + "/ig_other" ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "ecosystems/desert/shape_clodtex_build" ] +ShapeLookupDirectories += [ "ecosystems/desert/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "ecosystems/jungle/shape_clodtex_build" ] +ShapeLookupDirectories += [ "ecosystems/jungle/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_clodtex_build" ] +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/fyros/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/fyros/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/matis/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/matis/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/zorai/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/zorai/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "continents/tryker/shape_clodtex_build" ] +ShapeLookupDirectories += [ "continents/tryker/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/desert/map_export" ] +MapLookupDirectories += [ "ecosystems/desert/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/jungle/map_export" ] +MapLookupDirectories += [ "ecosystems/jungle/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/lacustre/map_export" ] +MapLookupDirectories += [ "ecosystems/lacustre/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] +MapLookupDirectories += [ "continents/fyros/map_export" ] +MapLookupDirectories += [ "continents/fyros/map_uncompressed" ] +MapLookupDirectories += [ "continents/matis/map_export" ] +MapLookupDirectories += [ "continents/matis/map_uncompressed" ] +MapLookupDirectories += [ "continents/zorai/map_export" ] +MapLookupDirectories += [ "continents/zorai/map_uncompressed" ] +MapLookupDirectories += [ "continents/tryker/map_export" ] +MapLookupDirectories += [ "continents/tryker/map_uncompressed" ] + +# PacsPrim lookup directories used by ai_wmap +PacsPrimLookupDirectories = [ ] +PacsPrimLookupDirectories += [ "ecosystems/desert/pacs_prim" ] +PacsPrimLookupDirectories += [ "ecosystems/jungle/pacs_prim" ] +PacsPrimLookupDirectories += [ "ecosystems/lacustre/pacs_prim" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Shape directories +ShapeTagExportDirectory = CommonPath + "/shape_tag" +ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized" +ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh" +ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized" +ShapeAnimExportDirectory = CommonPath + "/shape_anim" + +# Ligo directories +LigoDatabaseExportDirectory = "landscape/ligo/" + EcosystemName +LigoDatabaseIgExportDirectory = LigoDatabaseExportDirectory + "/igs" +LigoDatabaseZoneExportDirectory = LigoDatabaseExportDirectory + "/zones" +LigoDatabaseZoneLigoExportDirectory = LigoDatabaseExportDirectory + "/zoneligos" +LigoDatabaseCmbExportDirectory = LigoDatabaseExportDirectory + "/cmb" +LigoTagExportDirectory = "ecosystems/" + EcosystemName + "/ligo_tag" + +# Zone directories +ZoneExportDirectory = ContinentPath + "/zone" +WaterMapSourceDirectories = [ ] + +# RBank directories +RBankCmbExportDirectory = CommonPath + "/rbank_cmb_export" +RBankCmbTagExportDirectory = CommonPath + "/rbank_cmb_tag_export" + +# Smallbank directories +SmallbankExportDirectory = EcosystemPath + "/smallbank" + +# Tiles directories +DisplaceExportDirectory = EcosystemPath + "/diplace" + +# Ig directories +IgStaticLandExportDirectory = ContinentPath + "/ig_static_land" # Landscape IG eported from 3dsmax not elevated by the heightmap +IgStaticOtherExportDirectory = ContinentPath + "/ig_static_other" # Village or construction IGs exported from 3dsmax +IgStaticTagExportDirectory = ContinentPath + "/ig_static_tag" # Tag for exported 3dsmax files + +# PS directories +PsExportDirectory = CommonPath + "/ps" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Shape directories +ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" +ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded" +ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap" +ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" + +# Ligo directories +LigoZoneBuildDirectory = CommonPath + "/ligo_zones" +LigoIgLandBuildDirectory = CommonPath + "/ligo_ig_land" # Landscape IG found in ligo bricks not elevated by the heightmap +LigoIgOtherBuildDirectory = CommonPath + "/ligo_ig_other" # Village or construction IGs exported from ligo landscape + +# Zone directories +ZoneWeldBuildDirectory = CommonPath + "/zone_weld" +ZoneDependBuildDirectory = CommonPath + "/zone_depend" +ZoneLightWaterShapesLightedExportDirectory = CommonPath + "/zone_lwsl_temp" #fixme +ZoneLightBuildDirectory = CommonPath + "/zone_lighted" #fixme +ZoneLightDependBuildDirectory = CommonPath + "/zone_lighted_depend" #fixme +ZoneLightIgLandBuildDirectory = CommonPath + "/zone_lighted_ig_land" #fixme + +# Farbank directories +FarbankBuildDirectory = EcosystemPath + "/farbank" + +# Ig directories +IgElevLandPrimBuildDirectory = CommonPath + "/ig_elev_land_prim" # landscape IG generated by the prim exporter (already elevated by the land exporter) +IgElevLandLigoBuildDirectory = CommonPath + "/ig_elev_land_ligo" # Landscape IG found in ligo bricks from 3dsmax elevated by the heightmap +IgElevLandStaticBuildDirectory = CommonPath + "/ig_elev_land_static" # Landscape IG eported from 3dsmax elevated by the heightmap +IgTempLandMergeBuildDirectory = CommonPath + "/ig_temp_land_merge" +IgTempLandCompareBuildDirectory = CommonPath + "/ig_temp_land_compare" # Tmp final IG directory for landscape IGs before comparison +IgLandBuildDirectory = CommonPath + "/ig_land" # Final IG directory for landscape IGs +IgOtherBuildDirectory = CommonPath + "/ig_other" # Final IG directory for village or construction IGs +IgOtherLightedBuildDirectory = CommonPath + "/ig_other_lighted" + +# Rbank directories +RbankBboxBuildDirectory = CommonPath + "/rbank_bbox" +RbankTessellationBuildDirectory = CommonPath + "/rbank_tessellation" +RbankSmoothBuildDirectory = CommonPath + "/rbank_smooth" +RbankRawBuildDirectory = CommonPath + "/rbank_raw" +RbankPreprocBuildDirectory = CommonPath + "/rbank_preproc" +RbankRetrieversBuildDirectory = CommonPath + "/rbank_retrievers" +RbankOutputBuildDirectory = CommonPath + "/rbank_output" + +# AI Wmap directories +AiWmapBuildDirectory = CommonPath + "/ai_wmap" +AiWmapBuildTagDirectory = CommonPath + "/ai_wmap_tag" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = CommonName + "_lightmaps" + +# Ig directory +IgInstallDirectory = CommonName + "_ig" + +# PACS directory +PacsInstallDirectory = CommonName + "_pacs" + +# PS directory +PsInstallDirectory = CommonName + "_ig" + +# AI Wmap directory +AiWmapInstallDirectory = CommonName + "_ai" diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/process.py new file mode 100644 index 000000000..5b8f2a309 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/process.py @@ -0,0 +1,167 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "properties" ] +ProcessToComplete += [ "shape" ] +ProcessToComplete += [ "ig" ] +ProcessToComplete += [ "rbank" ] +ProcessToComplete += [ "ig_light" ] +ProcessToComplete += [ "ps" ] +ProcessToComplete += [ "ai_wmap" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "desert" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "indoors" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** LANDSCAPE NAME *** +LandscapeName = ContinentName + +# *** CONTINENT FILE *** +ContinentFile = ContinentName + "/" + ContinentName + ".continent" + + + +# *** SHAPE EXPORT OPTIONS *** + +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" + +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" + +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 0 + +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" + +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 + +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" + +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" + +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" + +DoBuildShadowSkin = 0 + +ClodConfigFile = "" + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + +# *** BANK EXPORT OPTIONS *** + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + +# Name of the tilebank to use +BankTileBankName = EcosystemName + + +# *** LIGO OPTIONS *** +LigoExportLand = "" +LigoExportOnePass = 0 +LigoExportColormap = "colormap_" + ContinentName + ".png" +LigoExportHeightmap1 = "big_" + ContinentName + ".png" +LigoExportZFactor1 = "1.0" +LigoExportHeightmap2 = "noise_" + ContinentName + ".png" +LigoExportZFactor2 = "0.5" +LigoTileBankFile = "landscape/_texture_tiles/" + EcosystemName + "/" + EcosystemName + ".bank" + +# *** ZONE REGIONS ( up-left, down-right ) *** +#ZoneRegions = [ ] +#ZoneRegions += [ [ "1_aa" ] + [ "2_ai" ] ] + +# *** RBANK OPTIONS *** + +# Options +RBankVerbose = 0 +RBankConsistencyCheck = 0 +RbankReduceSurfaces = 1 +RbankSmoothBorders = 1 +RbankComputeElevation = 0 +RbankComputeLevels = 1 +RbankLinkElements = 1 +RbankCutEdges = 1 +RbankUseZoneSquare = 0 + +# Region to compute ( ALPHA UPPER CASE! ) +RbankZoneUl = "1_AA" +RbankZoneDr = "2_AI" + +# Output names +RbankRbankName = LandscapeName + + +# *** AI WMAP OPTIONS *** +AiWmapContinentName = ContinentName +AiWmapVerbose = 0 +AiWmapStartPoints = [ ] + +# matis +AiWmapStartPoints += [ ContinentName + " 20025 -432" ] # player room +AiWmapStartPoints += [ ContinentName + " 20120 -439" ] # hall room +AiWmapStartPoints += [ ContinentName + " 20190 -454" ] # guild room +AiWmapStartPoints += [ ContinentName + " 20281 -439" ] # role master/npc room + +# zorai +AiWmapStartPoints += [ ContinentName + " 20363 -439" ] # player room +AiWmapStartPoints += [ ContinentName + " 20440 -444" ] # hall room +AiWmapStartPoints += [ ContinentName + " 20519 -466" ] # guild room +AiWmapStartPoints += [ ContinentName + " 20591 -442" ] # role master/npc room + +# tryker +AiWmapStartPoints += [ ContinentName + " 20682 -439" ] # player room +AiWmapStartPoints += [ ContinentName + " 20755 -440" ] # hall room +# AiWmapStartPoints += [ ContinentName + " 20833 -439" ] # guild room +AiWmapStartPoints += [ ContinentName + " 20920 -439" ] # role master/npc room + +# fyros +AiWmapStartPoints += [ ContinentName + " 20998 -441" ] # player room +AiWmapStartPoints += [ ContinentName + " 21079 -443" ] # hall room +AiWmapStartPoints += [ ContinentName + " 21162 -443" ] # guild room +AiWmapStartPoints += [ ContinentName + " 21239 -439" ] # role master/npc room diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_base.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_base.cfg new file mode 100644 index 000000000..468e8edc0 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_base.cfg @@ -0,0 +1,98 @@ + +// Continent name +continent_name = "%ContinentName%"; + +// Level design directory +level_design_directory = "%LeveldesignDirectory%"; + +// World directory +level_design_world_directory = "%LeveldesignWorldDirectory%"; + +// DFN directory +level_design_dfn_directory = "%LeveldesignDfnDirectory%"; + +// Bank file name +bank_name = "%ExportBuildDirectory%/%SmallbankExportDirectory%/%EcosystemName%.smallbank"; +bankfar_name = "%ExportBuildDirectory%/%FarbankBuildDirectory%/%EcosystemName%.farbank"; + +// Search pathes +search_pathes = +{ + "%ExportBuildDirectory%/common/sfx/ps", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_clodtex_build", // Sfx directory + "%ExportBuildDirectory%/common/sfx/shape_with_coarse_mesh", // Sfx directory + "%ExportBuildDirectory%/common/sfx/map_export", // Sfx directory + "%ExportBuildDirectory%/common/sfx/map_uncompressed", // Sfx directory + "%ExportBuildDirectory%/common/construction/shape_clodtex_build", // Construction directory + "%ExportBuildDirectory%/common/construction/shape_with_coarse_mesh", // Construction directory + "%ExportBuildDirectory%/common/construction/map_export", // Construction directory + "%ExportBuildDirectory%/common/construction/map_uncompressed", // Construction directory + "%ExportBuildDirectory%/ecosystems/desert/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/desert/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/desert/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/desert/map_uncompressed", // Map directory + "%ExportBuildDirectory%/ecosystems/jungle/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/jungle/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/jungle/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/jungle/map_uncompressed", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/%ContinentName%/ig_land", // Instance group directory + "%ExportBuildDirectory%/continents/%ContinentName%/ig_other", // Instance group directory + "%ExportBuildDirectory%/continents/%ContinentName%/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/%ContinentName%/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/%ContinentName%/map_export", // Map directory + "%ExportBuildDirectory%/continents/%ContinentName%/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/fyros/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/fyros/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/fyros/map_export", // Map directory + "%ExportBuildDirectory%/continents/fyros/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/matis/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/matis/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/matis/map_export", // Map directory + "%ExportBuildDirectory%/continents/matis/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/zorai/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/zorai/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/zorai/map_export", // Map directory + "%ExportBuildDirectory%/continents/zorai/map_uncompressed", // Map directory + "%ExportBuildDirectory%/continents/tryker/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/continents/tryker/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/continents/tryker/map_export", // Map directory + "%ExportBuildDirectory%/continents/tryker/map_uncompressed", // Map directory +}; + +// Additional ig file name +additionnal_ig = +{ + +}; + +// Sun direction. +sun_direction = { -0.776685, +0.216619, -0.59147 }; + +// Center of the landscape pointed by the sun +sun_center = {9954, -11017, 0}; + +// Distance of the sun +sun_distance = 50000; + +// FOV of the sun in radian +sun_fov = 0.52359877; // Pi / 6 + +// Sun radius, (for softshadow sampling) +sun_radius = 5000; + +// GlobalRetriever bank file.gr. Empty string to disable SurfaceLighting +grbank= "%ExportBuildDirectory%/%RbankOutputBuildDirectory%/%RbankRbankName%.gr"; + +// LocalRetriever bank file .rbank. Empty string to disable SurfaceLighting +rbank= "%ExportBuildDirectory%/%RbankOutputBuildDirectory%/%RbankRbankName%.rbank"; + +// The lighter search in rbank any retriever with identifier ---igname*** as substring +// where --- is col_identifier_prefix and *** is col_identifier_suffix +// eg: if igname= "street", col_identifier_prefix= "col_", col_identifier_suffix= "_", +// then "col_street_1" and "col_street_2" are valid and are used to build LightSurface infos in the Ig. +col_identifier_prefix= ""; +col_identifier_suffix= ""; diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_draft.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_draft.cfg new file mode 100644 index 000000000..07fad2f60 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_draft.cfg @@ -0,0 +1,93 @@ + +// Load instance group. 0 disable, 1 enable +load_ig = 0; + +// Use ig to compute dependencies 0 disable, 1 enable +compute_dependencies_with_igs = 0; + +// Enable shadows. 0 disable, 1 enable +shadow = 0; + +// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample. +zbuffer_landscape_size = 32768; + +// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this. +zbuffer_object_size = 98304; + +// Square root of the number of soft shadow samples +soft_shadow_samples_sqrt = 4; + +// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small +soft_shadow_jitter = 0.4; + +// Enable the sun contribution. 0 disable, 1 enable +sun_contribution = 1; + +// Enable the sky global illumaniation. 0 disable, 1 enable +sky_contribution = 0; + +// The sky global illumaniation intensity . [0 ~ 1] +sky_intensity = 0.20; + +// Accuracy of the sky global illumaniation algorithm in meter +global_illumination_cell_size = 5; + +// shadow bias for water surfaces +water_shadow_bias = 0.8; + +// ambient lighting for water. [0 ~ 1] +water_ambient = 0.3; + +// diffuse lighting for water. [0 ~ 1] +water_diffuse = 1.0; + +// true if the water color should be modulated with the source diffuse map +modulate_water_color = 0; + +// 1 if the water should receive sky lighting contribution +sky_contribution_for_water = 0; + +// Side length of landscape used to compute the sky global illumaniation in meter +global_illumination_length = 600; + +// Size of the quad grid side in meter. Should be a power of 2. (optimisation) +quad_grid_size = 512; + +// Size of a cell of the quad grid in meter. (optimisation) +quad_grid_cell_size = 1; + +// Number of CPU used to calculate the lightmaps. 0 for automatic detection. +cpu_num = 0; + +/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile +/// are above, below, or intersect a water surface (rough approximation). +/// As a matter of fact, these flags are processed during hte lighting as well. +vegetable_height = 2; + + + + +// *************************** +// Ig Lighting. +// *************************** +// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path + + +// Oversampling value, must be 0 (disable), 2, 4, 8, 16 +// This apply to surface cells and instances. +ig_oversampling = 16; + + +// IG Surface Lighting (for ig_light process only) + +// If SurfaceLighting enabled, define size of a cell (in meters) in a surface. +cell_surface_light_size = 1.5; + +// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs +cell_raytrace_delta_z = 0.2; + + +// Build debug surface shapes (slows the process) +build_debug_surface_shape= 0; + + diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_final.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_final.cfg new file mode 100644 index 000000000..522c15d44 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/indoors/properties_final.cfg @@ -0,0 +1,93 @@ + +// Load instance group. 0 disable, 1 enable +load_ig = 1; + +// Use ig to compute dependencies 0 disable, 1 enable +compute_dependencies_with_igs = 1; + +// Enable shadows. 0 disable, 1 enable +shadow = 1; + +// Landscape ZBuffers size for all the landscape. There is one zbuffer like this one per softshadow sample. +zbuffer_landscape_size = 32768; + +// Object ZBuffers size for all the landscape. This zbuffer is typically finer. There is only one zbuffer like this. +zbuffer_object_size = 98304; + +// Square root of the number of soft shadow samples +soft_shadow_samples_sqrt = 4; + +// Soft shadow jitter (0 ~ 1) to smooth softshadow aliasing when sampling number is small +soft_shadow_jitter = 0.4; + +// Enable the sun contribution. 0 disable, 1 enable +sun_contribution = 1; + +// Enable the sky global illumaniation. 0 disable, 1 enable +sky_contribution = 1; + +// The sky global illumaniation intensity . [0 ~ 1] +sky_intensity = 0.20; + +// Accuracy of the sky global illumaniation algorithm in meter +global_illumination_cell_size = 5; + +// shadow bias for water surfaces +water_shadow_bias = 0.8; + +// ambient lighting for water. [0 ~ 1] +water_ambient = 0.3; + +// diffuse lighting for water. [0 ~ 1] +water_diffuse = 1.0; + +// true if the water color should be modulated with the source diffuse map +modulate_water_color = 0; + +// 1 if the water should receive sky lighting contribution +sky_contribution_for_water = 0; + +// Side length of landscape used to compute the sky global illumaniation in meter +global_illumination_length = 600; + +// Size of the quad grid side in meter. Should be a power of 2. (optimisation) +quad_grid_size = 64; + +// Size of a cell of the quad grid in meter. (optimisation) +quad_grid_cell_size = 2; + +// Number of CPU used to calculate the lightmaps. 0 for automatic detection. +cpu_num = 0; + +/// Evaluation the max vegetable height in meters. This is used to decide wether vegetable of a tile +/// are above, below, or intersect a water surface (rough approximation). +/// As a matter of fact, these flags are processed during hte lighting as well. +vegetable_height = 2; + + + + +// *************************** +// Ig Lighting. +// *************************** +// Ig lighting shares also above parameters: sun_direction, shadow, quad_grid_size, quad_grid_cell_size, shapes_path + + +// Oversampling value, must be 0 (disable), 2, 4, 8, 16 +// This apply to surface cells and instances. +ig_oversampling = 16; + + +// IG Surface Lighting (for ig_light process only) + +// If SurfaceLighting enabled, define size of a cell (in meters) in a surface. +cell_surface_light_size = 1.5; + +// If SurfaceLighting enabled, define a deltaZ before raytracing cellPos against lights. Usefull to skip shadow errors like stairs +cell_raytrace_delta_z = 0.2; + + +// Build debug surface shapes (slows the process) +build_debug_surface_shape= 0; + + diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/matis/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/matis/directories.py new file mode 100644 index 000000000..d6acd91fc --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/matis/directories.py @@ -0,0 +1,124 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "matis" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/matis/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/matis/sky" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/matis/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/matis/sky" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# Shape directories +ShapeTagExportDirectory = CommonPath + "/shape_tag" +ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized" +ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh" +ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized" +ShapeAnimExportDirectory = CommonPath + "/shape_anim" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# Shape directories +ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" +ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded" +ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap" +ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/matis/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/matis/process.py new file mode 100644 index 000000000..fabc58b4f --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/matis/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "matis" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SHAPE EXPORT OPTIONS *** +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 0 +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" +DoBuildShadowSkin = 0 +ClodConfigFile = "" + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + +# *** MAPS OPTIONS *** +ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py index 3b477843a..35cf3b286 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/directories.py @@ -101,18 +101,25 @@ ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] # ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_clodtex_build" ] # additional +ShapeLookupDirectories += [ "ecosystems/lacustre/shape_with_coarse_mesh" ] # additional -# Map lookup directories not yet used +# Map lookup directories used by shape MapLookupDirectories = [ ] -ShapeLookupDirectories += [ "common/sfx/map_export" ] -ShapeLookupDirectories += [ "common/sfx/map_uncompressed" ] -ShapeLookupDirectories += [ "common/construction/map_export" ] -ShapeLookupDirectories += [ "common/construction/map_uncompressed" ] -ShapeLookupDirectories += [ EcosystemPath + "/map_export" ] -ShapeLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] -ShapeLookupDirectories += [ ContinentPath + "/map_export" ] -ShapeLookupDirectories += [ ContinentPath + "/map_uncompressed" ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] +MapLookupDirectories += [ "ecosystems/lacustre/map_export" ] # additional +MapLookupDirectories += [ "ecosystems/lacustre/map_uncompressed" ] # additional +# PacsPrim lookup directories used by ai_wmap +PacsPrimLookupDirectories = [ ] +PacsPrimLookupDirectories += [ EcosystemPath + "/pacs_prim" ] # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** @@ -164,6 +171,10 @@ PsExportDirectory = CommonPath + "/ps" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -206,28 +217,35 @@ RbankPreprocBuildDirectory = CommonPath + "/rbank_preproc" RbankRetrieversBuildDirectory = CommonPath + "/rbank_retrievers" RbankOutputBuildDirectory = CommonPath + "/rbank_output" +# AI Wmap directories +AiWmapBuildDirectory = CommonPath + "/ai_wmap" +AiWmapBuildTagDirectory = CommonPath + "/ai_wmap_tag" + # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Shape lightmaps directory -LightmapClientDirectory = ShapeClientDirectory +LightmapInstallDirectory = ShapeInstallDirectory # Ig directory -IgClientDirectory = CommonName + "_ig" +IgInstallDirectory = CommonName + "_ig" # Zone directory -ZoneClientDirectory = CommonName + "_zones" -WaterMapsClientDirectory = ZoneClientDirectory +ZoneInstallDirectory = CommonName + "_zones" +WaterMapsInstallDirectory = ZoneInstallDirectory # PACS directory -PacsClientDirectory = CommonName + "_pacs" +PacsInstallDirectory = CommonName + "_pacs" # PS directory -PsClientDirectory = CommonName + "_ig" +PsInstallDirectory = CommonName + "_ig" + +# AI Wmap directory +AiWmapInstallDirectory = CommonName + "_ai" diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py index 33b9f5bb9..0473db765 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/process.py @@ -39,6 +39,7 @@ ProcessToComplete += [ "zone_light" ] # works, need to check completeness ProcessToComplete += [ "rbank" ] ProcessToComplete += [ "ig_light" ] # fully implemented ProcessToComplete += [ "ps" ] +ProcessToComplete += [ "ai_wmap" ] # *** ECOSYSTEM AND CONTINENT NAMES *** @@ -154,6 +155,15 @@ RbankRbankName = LandscapeName # RbankShapePaths += [ "l:/leveldesign/world_edit_files" ] # *** MAPS OPTIONS *** - ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None +# *** AI WMAP OPTIONS *** +AiWmapContinentName = ContinentName +AiWmapVerbose = 0 +AiWmapStartPoints = [ ] +AiWmapStartPoints += [ ContinentName + " 8523 -10846" ] +AiWmapStartPoints += [ ContinentName + " 10314 -11743" ] diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg index 8bb47d4dd..fb71eb185 100644 --- a/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg +++ b/code/ryzom/tools/build_gamedata/workspace/continents/newbieland/properties_base.cfg @@ -31,6 +31,10 @@ search_pathes = "%ExportBuildDirectory%/ecosystems/%EcosystemName%/shape_with_coarse_mesh", // Shape directory "%ExportBuildDirectory%/ecosystems/%EcosystemName%/map_export", // Map directory "%ExportBuildDirectory%/ecosystems/%EcosystemName%/map_uncompressed", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_clodtex_build", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/shape_with_coarse_mesh", // Shape directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_export", // Map directory + "%ExportBuildDirectory%/ecosystems/lacustre/map_uncompressed", // Map directory "%ExportBuildDirectory%/continents/%ContinentName%/zone_light/water_shapes_lighted", // Water shape lighted directory "%ExportBuildDirectory%/continents/%ContinentName%/ig_land", // Instance group directory "%ExportBuildDirectory%/continents/%ContinentName%/ig_other", // Instance group directory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/tryker/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/directories.py new file mode 100644 index 000000000..5a7ebfef1 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/directories.py @@ -0,0 +1,126 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "lacustre" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "tryker" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/tryker/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/tryker/sky" ] +ShapeSourceDirectories += [ "landscape/water/Meshes/lacustre" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/tryker/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/tryker/sky" ] +MapSourceDirectories += [ "landscape/water/Meshes/lacustre" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# Shape directories +ShapeTagExportDirectory = CommonPath + "/shape_tag" +ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized" +ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh" +ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized" +ShapeAnimExportDirectory = CommonPath + "/shape_anim" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# Shape directories +ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" +ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded" +ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap" +ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/tryker/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/process.py new file mode 100644 index 000000000..bffdb684b --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/tryker/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "lacustre" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "tryker" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SHAPE EXPORT OPTIONS *** +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 0 +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" +DoBuildShadowSkin = 0 +ClodConfigFile = "" + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + +# *** MAPS OPTIONS *** +ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/zorai/directories.py b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/directories.py new file mode 100644 index 000000000..e8951ba70 --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/directories.py @@ -0,0 +1,124 @@ +#!/usr/bin/python +# +# \file directories.py +# \brief Directories configuration +# \date 2010-05-24 06:34GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Directories configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "zorai" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SOURCE DIRECTORIES LEVELDESIGN/WORLD *** +ContinentLeveldesignWorldDirectory = ContinentName + + +# *** SOURCE DIRECTORIES IN THE DATABASE *** + +# Shape directories +ShapeSourceDirectories = [ ] +ShapeSourceDirectories += [ "stuff/zorai/decors/constructions" ] +ShapeSourceDirectories += [ "stuff/zorai/sky" ] + +# Maps directories +MapSourceDirectories = [ ] +MapSourceDirectories += [ "stuff/zorai/decors/_textures/batiments" ] +MapSourceDirectories += [ "stuff/zorai/sky" ] +MapUncompressedSourceDirectories = [ ] + + +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ "common/sfx/ps" ] +ShapeLookupDirectories += [ "common/sfx/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/sfx/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ "common/construction/shape_clodtex_build" ] +ShapeLookupDirectories += [ "common/construction/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ ContinentPath + "/shape_with_coarse_mesh" ] +# ShapeLookupDirectories += [ ContinentName + "/zone_light/water_shapes_lighted" ] huh? + +# Map lookup directories used by shape +MapLookupDirectories = [ ] +MapLookupDirectories += [ "common/sfx/map_export" ] +MapLookupDirectories += [ "common/sfx/map_uncompressed" ] +MapLookupDirectories += [ "common/construction/map_export" ] +MapLookupDirectories += [ "common/construction/map_uncompressed" ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] +MapLookupDirectories += [ ContinentPath + "/map_export" ] +MapLookupDirectories += [ ContinentPath + "/map_uncompressed" ] + + +# *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapExportDirectory = CommonPath + "/map_export" +MapUncompressedExportDirectory = CommonPath + "/map_uncompressed" + +# Shape directories +ShapeTagExportDirectory = CommonPath + "/shape_tag" +ShapeNotOptimizedExportDirectory = CommonPath + "/shape_not_optimized" +ShapeWithCoarseMeshExportDirectory = CommonPath + "/shape_with_coarse_mesh" +ShapeLightmapNotOptimizedExportDirectory = CommonPath + "/shape_lightmap_not_optimized" +ShapeAnimExportDirectory = CommonPath + "/shape_anim" + + +# *** BUILD DIRECTORIES FOR THE BUILD PIPELINE *** + +# Map directories +MapBuildDirectory = CommonPath + "/map" +MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" + +# Shape directories +ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" +ShapeWithCoarseMeshBuildDirectory = CommonPath + "/shape_with_coarse_mesh_builded" +ShapeLightmapBuildDirectory = CommonPath + "/shape_lightmap" +ShapeLightmap16BitsBuildDirectory = CommonPath + "/shape_lightmap_16_bits" + + +# *** INSTALL DIRECTORIES IN THE CLIENT DATA *** + +# Map directory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory + +# Shape directory +ShapeInstallDirectory = CommonName + "_shapes" + +# Shape lightmaps directory +LightmapInstallDirectory = ShapeInstallDirectory diff --git a/code/ryzom/tools/build_gamedata/workspace/continents/zorai/process.py b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/process.py new file mode 100644 index 000000000..c32cffd5a --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/continents/zorai/process.py @@ -0,0 +1,81 @@ +#!/usr/bin/python +# +# \file config.py +# \brief Process configuration +# \date 2010-05-24 06:30GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Process configuration. +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +# *** PROCESS CONFIGURATION *** + + +# *** PROCESS CONFIG *** +ProcessToComplete = [ ] +ProcessToComplete += [ "map" ] +ProcessToComplete += [ "shape" ] + + +# *** ECOSYSTEM AND CONTINENT NAMES *** + +EcosystemName = "jungle" +EcosystemPath = "ecosystems/" + EcosystemName +ContinentName = "zorai" +ContinentPath = "continents/" + ContinentName +CommonName = ContinentName +CommonPath = ContinentPath + + +# *** SHAPE EXPORT OPTIONS *** +# Compute lightmaps ? +ShapeExportOptExportLighting = "true" +# Cast shadow in lightmap ? +ShapeExportOptShadow = "true" +# Lighting limits. 0 : normal, 1 : soft shadows +ShapeExportOptLightingLimit = 0 +# Lightmap lumel size +ShapeExportOptLumelSize = "0.25" +# Oversampling value. Can be 1, 2, 4 or 8 +ShapeExportOptOversampling = 1 +# Does the lightmap must be generated in 8 bits format ? +ShapeExportOpt8BitsLightmap = "false" +# Does the lightmaps export must generate logs ? +ShapeExportOptLightmapLog = "true" +# Coarse mesh texture mul size +TextureMulSizeValue = "1.5" +DoBuildShadowSkin = 0 +ClodConfigFile = "" + +# *** COARSE MESH TEXTURE NAME *** +CoarseMeshTextureNames = [ ] + +# *** POSTFIX USED BY THE MULTIPLE TILES SYSTEM *** +MultipleTilesPostfix = [ ] +MultipleTilesPostfix += [ "_sp" ] +MultipleTilesPostfix += [ "_su" ] +MultipleTilesPostfix += [ "_au" ] +MultipleTilesPostfix += [ "_wi" ] + +# *** MAPS OPTIONS *** +ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py index 7617e1b67..b378249a2 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -148,6 +148,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -197,6 +213,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -220,29 +240,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py index dfc4e0c65..99c7d5d5b 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/desert/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'desert' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py index 9b4069598..f5bad0f9a 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -152,6 +152,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -201,6 +217,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -224,29 +244,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py index d0a378e9a..5bdc3b982 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/jungle/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'jungle' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py index 9b2f1f87f..d1f388c66 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -160,6 +160,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -209,6 +225,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -232,29 +252,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py index 791c668ef..3d040f956 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/lacustre/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'lacustre' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py index 1e03bde60..efcfc2465 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/directories.py @@ -6,7 +6,7 @@ # # \file directories.py # \brief Directories configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # \date 2001-2005 # \author Nevrax @@ -145,6 +145,22 @@ PacsPrimSourceDirectories = [ ] PacsPrimSourceDirectories += [ DatabaseRootPath + "/decors/vegetations" ] +# *** LOOKUP DIRECTORIES WITHIN THE BUILD PIPELINE *** (TODO: use these instead of search_pathes in properties(_base).cfg) + +# Ig lookup directories used by rbank +IgLookupDirectories = [ ] + +# Shape lookup directories used by rbank +ShapeLookupDirectories = [ ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_clodtex_build" ] +ShapeLookupDirectories += [ EcosystemPath + "/shape_with_coarse_mesh" ] + +# Map lookup directories not yet used +MapLookupDirectories = [ ] +MapLookupDirectories += [ EcosystemPath + "/map_export" ] +MapLookupDirectories += [ EcosystemPath + "/map_uncompressed" ] + + # *** EXPORT DIRECTORIES FOR THE BUILD PIPELINE *** # Map directories @@ -194,6 +210,10 @@ PacsPrimExportDirectory = CommonPath + "/pacs_prim" # Map directories MapBuildDirectory = CommonPath + "/map" MapPanoplyBuildDirectory = CommonPath + "/map_panoply" +MapPanoplyHlsInfoBuildDirectory = CommonPath + "/map_panoply_hls_info" +MapPanoplyHlsBankBuildDirectory = CommonPath + "/map_panoply_hls_bank" +MapPanoplyCacheBuildDirectory = CommonPath + "/map_panoply_cache" +MapTagBuildDirectory = CommonPath + "/map_tag" # Shape directories ShapeClodtexBuildDirectory = CommonPath + "/shape_clodtex_build" @@ -217,29 +237,29 @@ RbankOutputBuildDirectory = "_invalid" # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** # Map directory -MapClientDirectory = CommonName + "_maps" -BitmapClientDirectory = MapClientDirectory +MapInstallDirectory = CommonName + "_maps" +BitmapInstallDirectory = MapInstallDirectory # Shape directory -ShapeClientDirectory = CommonName + "_shapes" +ShapeInstallDirectory = CommonName + "_shapes" # Lightmap directory -LightmapClientDirectory = CommonName + "_lightmaps" +LightmapInstallDirectory = CommonName + "_lightmaps" # Tile directory -TilesClientDirectory = CommonName + "_tiles" +TilesInstallDirectory = CommonName + "_tiles" # Displace directory -DisplaceClientDirectory = CommonName + "_displaces" +DisplaceInstallDirectory = CommonName + "_displaces" # Bank directory -BankClientDirectory = CommonName + "_bank" +BankInstallDirectory = CommonName + "_bank" # Vegetable set directory -VegetSetClientDirectory = CommonName + "_vegetable_sets" +VegetSetInstallDirectory = CommonName + "_vegetable_sets" # Vegetable shape directory -VegetClientDirectory = CommonName + "_vegetables" +VegetInstallDirectory = CommonName + "_vegetables" # PACS primitives directories -PacsPrimClientDirectory = CommonName + "_pacs_prim" +PacsPrimInstallDirectory = CommonName + "_pacs_prim" diff --git a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py index 2cf5635ef..cc237589a 100644 --- a/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/ecosystems/primes_racines/process.py @@ -6,7 +6,7 @@ # # \file config.py # \brief Process configuration -# \date 2010-09-03-14-50-GMT +# \date 2010-09-19-14-19-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Process configuration for 'primes_racines' ecosystem. @@ -118,6 +118,10 @@ LigoExportOnePass = 0 # *** MAPS OPTIONS *** ReduceBitmapFactor = 0 +# list all panoply files +MapPanoplyFileList = None +# name of the .hlsbank to build. +MapHlsBankFileName = None # *** SHAPE BUILD OPTIONS * diff --git a/code/ryzom/tools/build_gamedata/workspace/projects.py b/code/ryzom/tools/build_gamedata/workspace/projects.py index dc55909cf..b1f93eabd 100644 --- a/code/ryzom/tools/build_gamedata/workspace/projects.py +++ b/code/ryzom/tools/build_gamedata/workspace/projects.py @@ -25,10 +25,12 @@ # +ProductName = "ryzom" + + ProjectsToProcess = [ ] -# Common projects -ProjectsToProcess += [ "common/fonts" ] +# Common asset export and build projects ProjectsToProcess += [ "common/interface" ] ProjectsToProcess += [ "common/objects" ] ProjectsToProcess += [ "common/sfx" ] @@ -36,9 +38,16 @@ ProjectsToProcess += [ "common/fauna" ] ProjectsToProcess += [ "common/construction" ] ProjectsToProcess += [ "common/outgame" ] ProjectsToProcess += [ "common/sky" ] -#ProjectsToProcess += [ "common/characters" ] # TODO -#ProjectsToProcess += [ "common/characters_maps_hr" ] # TODO -#ProjectsToProcess += [ "common/characters_maps_lr" ] # TODO +ProjectsToProcess += [ "common/characters" ] +ProjectsToProcess += [ "common/characters_maps_hr" ] + +# Common client data and leveldesign projects +ProjectsToProcess += [ "common/fonts" ] +ProjectsToProcess += [ "common/gamedev" ] +ProjectsToProcess += [ "common/data_common" ] +ProjectsToProcess += [ "common/leveldesign" ] +ProjectsToProcess += [ "common/exedll" ] +ProjectsToProcess += [ "common/cfg" ] # Ecosystem projects ProjectsToProcess += [ "ecosystems/desert" ] @@ -47,10 +56,457 @@ ProjectsToProcess += [ "ecosystems/primes_racines" ] ProjectsToProcess += [ "ecosystems/lacustre" ] # Continent projects -ProjectsToProcess += [ "continents/newbieland" ] -#ProjectsToProcess += [ "continents/indoors" ] # TODO Note: must be after all other continents due to dependencies on fy/ma/zo/tr +ProjectsToProcess += [ "continents/fyros" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/matis" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/zorai" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/tryker" ] # Note: dummy for shape and map export +ProjectsToProcess += [ "continents/newbieland" ] # Note: must be after other continents due to dependencies on fy/ma/zo/tr +ProjectsToProcess += [ "continents/indoors" ] # Note: must be after other continents due to dependencies on fy/ma/zo/tr -# TODO + +InstallShardDataDirectories = [ ] + +InstallShardDataCollisionsDirectories = [ ] +InstallShardDataCollisionsDirectories += [ "newbieland_ai" ] +InstallShardDataCollisionsDirectories += [ "newbieland_ig" ] +InstallShardDataCollisionsDirectories += [ "newbieland_pacs" ] +InstallShardDataCollisionsDirectories += [ "indoors_ai" ] +InstallShardDataCollisionsDirectories += [ "indoors_ig" ] +InstallShardDataCollisionsDirectories += [ "indoors_pacs" ] + + +InstallClientData = [ ] + +ICMainCfg = { } +ICMainCfg["Name"] = "main_cfg" +ICMainCfg["UnpackTo"] = "cfg" # -> = "./cfg/" +ICMainCfg["IsOptional"] = 0 +ICMainCfg["IsIncremental"] = 0 +ICMainCfg["Packages"] = [ [ "cfg", [ ] ] ] +InstallClientData += [ ICMainCfg ] + +ICMainExedll = { } +ICMainExedll["Name"] = "main_exedll" +ICMainExedll["UnpackTo"] = "" # -> "./", to not unpack set to None +ICMainExedll["IsOptional"] = 0 +ICMainExedll["IsIncremental"] = 0 +ICMainExedll["Packages"] = [ [ "exedll", [ ] ] ] +InstallClientData += [ ICMainExedll ] + +ICMainFonts = { } +ICMainFonts["Name"] = "main_fonts" +ICMainFonts["UnpackTo"] = "data/fonts" +ICMainFonts["IsOptional"] = 0 +ICMainFonts["IsIncremental"] = 0 +ICMainFonts["Packages"] = [ [ "fonts", [ ] ] ] +InstallClientData += [ ICMainFonts ] + +ICMainPacked = { } +ICMainPacked["Name"] = "main_packed" +ICMainPacked["UnpackTo"] = "data" +ICMainPacked["IsOptional"] = 0 +ICMainPacked["IsIncremental"] = 0 +ICMainPacked["Packages"] = [ [ "packedsheets", [ ] ] ] +InstallClientData += [ ICMainPacked ] + +ICUser = { } +ICUser["Name"] = "user" +ICUser["UnpackTo"] = "user" +ICUser["IsOptional"] = 0 +ICUser["IsIncremental"] = 0 +ICUser["Packages"] = [ [ "user", [ ] ] ] +InstallClientData += [ ICUser ] + +ICExamples = { } +ICExamples["Name"] = "examples" +ICExamples["UnpackTo"] = "examples" +ICExamples["IsOptional"] = 0 +ICExamples["IsIncremental"] = 0 +ICExamples["Packages"] = [ [ "examples", [ ] ] ] +InstallClientData += [ ICExamples ] + +ICCommon = { } +ICCommon["Name"] = "common" +ICCommon["UnpackTo"] = None +ICCommon["IsOptional"] = 0 +ICCommon["IsIncremental"] = 1 +ICCommon["Packages"] = [ ] +ICCommon["Packages"] += [ [ "sound", [ ] ] ] +ICCommon["Packages"] += [ [ "sky", [ ] ] ] +ICCommon["Packages"] += [ [ "sfx", [ ] ] ] +ICCommon["Packages"] += [ [ "objects", [ ] ] ] +ICCommon["Packages"] += [ [ "construction", [ ] ] ] +ICCommon["Packages"] += [ [ "outgame", [ ] ] ] +ICCommon["Packages"] += [ [ "leveldesign", [ ] ] ] +ICCommon["Packages"] += [ [ "interfaces", [ ] ] ] +ICCommon["Packages"] += [ [ "gamedev", [ ] ] ] +ICCommon["Packages"] += [ [ "data_common", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_swt", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_skeletons", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_shapes", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_maps", [ ] ] ] +ICCommon["Packages"] += [ [ "fauna_animations", [ ] ] ] +InstallClientData += [ ICCommon ] + +ICCharacterArmors = [ ] +ICCharacterArmors += [ "zo_hom_visage" ] +ICCharacterArmors += [ "zo_hom_underwear" ] +ICCharacterArmors += [ "zo_hom_civil01" ] +ICCharacterArmors += [ "zo_hom_cheveux" ] +ICCharacterArmors += [ "zo_hom_caster01" ] +ICCharacterArmors += [ "zo_hom_armor01" ] +ICCharacterArmors += [ "zo_hom_armor00" ] +ICCharacterArmors += [ "zo_hof_visage" ] +ICCharacterArmors += [ "zo_hof_underwear" ] +ICCharacterArmors += [ "zo_hof_civil01" ] +ICCharacterArmors += [ "zo_hof_cheveux" ] +ICCharacterArmors += [ "zo_hof_caster01" ] +ICCharacterArmors += [ "zo_hof_armor01" ] +ICCharacterArmors += [ "zo_hof_armor00" ] +ICCharacterArmors += [ "zo_casque01" ] +ICCharacterArmors += [ "tr_hom_visage" ] +ICCharacterArmors += [ "tr_hom_underwear" ] +ICCharacterArmors += [ "tr_hom_refugee" ] +ICCharacterArmors += [ "tr_hom_civil01" ] +ICCharacterArmors += [ "tr_hom_cheveux" ] +ICCharacterArmors += [ "tr_hom_caster01" ] +ICCharacterArmors += [ "tr_hom_armor01" ] +ICCharacterArmors += [ "tr_hom_armor00" ] +ICCharacterArmors += [ "tr_hof_visage" ] +ICCharacterArmors += [ "tr_hof_underwear" ] +ICCharacterArmors += [ "tr_hof_refugee" ] +ICCharacterArmors += [ "tr_hof_civil01" ] +ICCharacterArmors += [ "tr_hof_cheveux" ] +ICCharacterArmors += [ "tr_hof_caster01" ] +ICCharacterArmors += [ "tr_hof_armor01" ] +ICCharacterArmors += [ "tr_hof_armor00" ] +ICCharacterArmors += [ "tr_casque01" ] +ICCharacterArmors += [ "ma_hom_visage" ] +ICCharacterArmors += [ "ma_hom_underwear" ] +ICCharacterArmors += [ "ma_hom_civil01" ] +ICCharacterArmors += [ "ma_hom_cheveux" ] +ICCharacterArmors += [ "ma_hom_caster01" ] +ICCharacterArmors += [ "ma_hom_armor01" ] +ICCharacterArmors += [ "ma_hom_armor00" ] +ICCharacterArmors += [ "ma_hof_visage" ] +ICCharacterArmors += [ "ma_hof_underwear" ] +ICCharacterArmors += [ "ma_hof_civil01" ] +ICCharacterArmors += [ "ma_hof_cheveux" ] +ICCharacterArmors += [ "ma_hof_caster01" ] +ICCharacterArmors += [ "ma_hof_casque01" ] +ICCharacterArmors += [ "ma_hof_armor04" ] +ICCharacterArmors += [ "ma_hof_armor01" ] +ICCharacterArmors += [ "ma_hof_armor00" ] +ICCharacterArmors += [ "fy_hom_visage" ] +ICCharacterArmors += [ "fy_hom_underwear" ] +ICCharacterArmors += [ "fy_hom_ruflaket" ] +ICCharacterArmors += [ "fy_hom_civil01" ] +ICCharacterArmors += [ "fy_hom_cheveux" ] +ICCharacterArmors += [ "fy_hom_caster01" ] +ICCharacterArmors += [ "fy_hom_barman" ] +ICCharacterArmors += [ "fy_hom_armor01" ] +ICCharacterArmors += [ "fy_hom_armor00" ] +ICCharacterArmors += [ "fy_hof_visage" ] +ICCharacterArmors += [ "fy_hof_underwear" ] +ICCharacterArmors += [ "fy_hof_civil01" ] +ICCharacterArmors += [ "fy_hof_cheveux" ] +ICCharacterArmors += [ "fy_hof_caster01" ] +ICCharacterArmors += [ "fy_hof_armor01" ] +ICCharacterArmors += [ "fy_hof_armor00" ] +ICCharacterArmors += [ "ge_hof_armor02" ] +ICCharacterArmors += [ "ge_hof_armor03" ] +ICCharacterArmors += [ "ge_hof_armor04" ] +ICCharacterArmors += [ "ge_hof_caster00" ] +ICCharacterArmors += [ "ge_hom_armor02" ] +ICCharacterArmors += [ "ge_hom_armor03" ] +ICCharacterArmors += [ "ge_hom_armor04" ] +ICCharacterArmors += [ "ge_hom_caster00" ] +ICCharacter = { } +ICCharacter["Name"] = "character" +ICCharacter["UnpackTo"] = None +ICCharacter["IsOptional"] = 0 +ICCharacter["IsIncremental"] = 1 +ICCharacter["Packages"] = [ ] +ICCharacter["Packages"] += [ [ "characters_swt", [ ] ] ] +ICCharacter["Packages"] += [ [ "characters_skeletons", [ ] ] ] +ICCharacter["Packages"] += [ [ "characters_shapes", [ ] ] ] +ICCharacter["Packages"] += [ [ "characters_animations", [ ] ] ] +ICCharacterMapsConditions = [ ] +for armor in ICCharacterArmors: + ICCharacterMapsConditions += [ "-ifnot" ] + ICCharacterMapsConditions += [ armor + "*" ] +ICCharacter["Packages"] += [ [ "characters_maps_hr", [ "characters_maps_hr.bnp" ] + ICCharacterMapsConditions, "characters.hlsbank" ] ] +for armor in ICCharacterArmors: + ICCharacter["Packages"] += [ [ "characters_maps_hr", [ "characters_maps_" + armor + "_hr.bnp", "-if", armor + "*" ], "characters.hlsbank" ] ] +InstallClientData += [ ICCharacter ] + +ICEsPrimesRacines = { } +ICEsPrimesRacines["Name"] = "es_primes_racines" +ICEsPrimesRacines["UnpackTo"] = None +ICEsPrimesRacines["IsOptional"] = 0 +ICEsPrimesRacines["IsIncremental"] = 1 +ICEsPrimesRacines["Packages"] = [ ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_vegetable_sets", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_vegetables", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_tiles", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_shapes", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_pacs_prim", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_maps", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_lightmaps", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_displaces", [ ] ] ] +ICEsPrimesRacines["Packages"] += [ [ "primes_racines_bank", [ ] ] ] +InstallClientData += [ ICEsPrimesRacines ] + +ICEsDesert = { } +ICEsDesert["Name"] = "es_desert" +ICEsDesert["UnpackTo"] = None +ICEsDesert["IsOptional"] = 1 +ICEsDesert["IsIncremental"] = 1 +ICEsDesert["Packages"] = [ ] +ICEsDesert["Packages"] += [ [ "desert_vegetable_sets", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_vegetables", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_tiles", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_shapes", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_pacs_prim", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_maps", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_lightmaps", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_displaces", [ ] ] ] +ICEsDesert["Packages"] += [ [ "desert_bank", [ ] ] ] +InstallClientData += [ ICEsDesert ] + +ICEsLacustre = { } +ICEsLacustre["Name"] = "es_lacustre" +ICEsLacustre["UnpackTo"] = None +ICEsLacustre["IsOptional"] = 1 +ICEsLacustre["IsIncremental"] = 1 +ICEsLacustre["Packages"] = [ ] +ICEsLacustre["Packages"] += [ [ "lacustre_vegetable_sets", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_vegetables", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_tiles", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_shapes", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_pacs_prim", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_maps", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_lightmaps", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_displaces", [ ] ] ] +ICEsLacustre["Packages"] += [ [ "lacustre_bank", [ ] ] ] +InstallClientData += [ ICEsLacustre ] + +ICEsJungle = { } +ICEsJungle["Name"] = "es_jungle" +ICEsJungle["UnpackTo"] = None +ICEsJungle["IsOptional"] = 1 +ICEsJungle["IsIncremental"] = 1 +ICEsJungle["Packages"] = [ ] +ICEsJungle["Packages"] += [ [ "jungle_vegetable_sets", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_vegetables", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_tiles", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_shapes", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_pacs_prim", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_maps", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_lightmaps", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_displaces", [ ] ] ] +ICEsJungle["Packages"] += [ [ "jungle_bank", [ ] ] ] +InstallClientData += [ ICEsJungle ] + +ICFyros = { } +ICFyros["Name"] = "fyros" +ICFyros["UnpackTo"] = None +ICFyros["IsOptional"] = 1 +ICFyros["IsIncremental"] = 1 +ICFyros["Packages"] = [ ] +ICFyros["Packages"] += [ [ "fyros_zones", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_shapes", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_pacs", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_maps", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_lightmaps", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_ig", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_newbie_zones", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_newbie_pacs", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_newbie_ig", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_island_zones", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_island_pacs", [ ] ] ] +ICFyros["Packages"] += [ [ "fyros_island_ig", [ ] ] ] +InstallClientData += [ ICFyros ] + +ICMatis = { } +ICMatis["Name"] = "matis" +ICMatis["UnpackTo"] = None +ICMatis["IsOptional"] = 1 +ICMatis["IsIncremental"] = 1 +ICMatis["Packages"] = [ ] +ICMatis["Packages"] += [ [ "matis_zones", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_shapes", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_pacs", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_maps", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_lightmaps", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_ig", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_island_zones", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_island_pacs", [ ] ] ] +ICMatis["Packages"] += [ [ "matis_island_ig", [ ] ] ] +InstallClientData += [ ICMatis ] + +ICZorai = { } +ICZorai["Name"] = "zorai" +ICZorai["UnpackTo"] = None +ICZorai["IsOptional"] = 1 +ICZorai["IsIncremental"] = 1 +ICZorai["Packages"] = [ ] +ICZorai["Packages"] += [ [ "zorai_zones", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_shapes", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_pacs", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_maps", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_lightmaps", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_ig", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_island_zones", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_island_pacs", [ ] ] ] +ICZorai["Packages"] += [ [ "zorai_island_ig", [ ] ] ] +InstallClientData += [ ICZorai ] + +ICTryker = { } +ICTryker["Name"] = "tryker" +ICTryker["UnpackTo"] = None +ICTryker["IsOptional"] = 1 +ICTryker["IsIncremental"] = 1 +ICTryker["Packages"] = [ ] +ICTryker["Packages"] += [ [ "tryker_zones", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_shapes", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_pacs", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_maps", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_lightmaps", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_ig", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_zones", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_shapes", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_pacs", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_newbie_ig", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_zones", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_shapes", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_pacs", [ ] ] ] +ICTryker["Packages"] += [ [ "tryker_island_ig", [ ] ] ] +InstallClientData += [ ICTryker ] + +ICSources = { } +ICSources["Name"] = "sources" +ICSources["UnpackTo"] = None +ICSources["IsOptional"] = 1 +ICSources["IsIncremental"] = 1 +ICSources["Packages"] = [ ] +ICSources["Packages"] += [ [ "sources_zones", [ ] ] ] +ICSources["Packages"] += [ [ "sources_shapes", [ ] ] ] +ICSources["Packages"] += [ [ "sources_pacs", [ ] ] ] +ICSources["Packages"] += [ [ "sources_maps", [ ] ] ] +ICSources["Packages"] += [ [ "sources_lightmaps", [ ] ] ] +ICSources["Packages"] += [ [ "sources_ig", [ ] ] ] +InstallClientData += [ ICSources ] + +ICRouteGouffre = { } +ICRouteGouffre["Name"] = "route_gouffre" +ICRouteGouffre["UnpackTo"] = None +ICRouteGouffre["IsOptional"] = 1 +ICRouteGouffre["IsIncremental"] = 1 +ICRouteGouffre["Packages"] = [ ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_zones", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_shapes", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_pacs", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_maps", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_lightmaps", [ ] ] ] +ICRouteGouffre["Packages"] += [ [ "route_gouffre_ig", [ ] ] ] +InstallClientData += [ ICRouteGouffre ] + +ICBagne = { } +ICBagne["Name"] = "bagne" +ICBagne["UnpackTo"] = None +ICBagne["IsOptional"] = 1 +ICBagne["IsIncremental"] = 1 +ICBagne["Packages"] = [ ] +ICBagne["Packages"] += [ [ "bagne_zones", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_shapes", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_pacs", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_maps", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_lightmaps", [ ] ] ] +ICBagne["Packages"] += [ [ "bagne_ig", [ ] ] ] +InstallClientData += [ ICBagne ] + +ICTerre = { } +ICTerre["Name"] = "terre" +ICTerre["UnpackTo"] = None +ICTerre["IsOptional"] = 1 +ICTerre["IsIncremental"] = 1 +ICTerre["Packages"] = [ ] +ICTerre["Packages"] += [ [ "terre_zones", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_shapes", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_pacs", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_maps", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_lightmaps", [ ] ] ] +ICTerre["Packages"] += [ [ "terre_ig", [ ] ] ] +InstallClientData += [ ICTerre ] + +ICNexus = { } +ICNexus["Name"] = "nexus" +ICNexus["UnpackTo"] = None +ICNexus["IsOptional"] = 1 +ICNexus["IsIncremental"] = 1 +ICNexus["Packages"] = [ ] +ICNexus["Packages"] += [ [ "nexus_zones", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_shapes", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_pacs", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_maps", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_lightmaps", [ ] ] ] +ICNexus["Packages"] += [ [ "nexus_ig", [ ] ] ] +InstallClientData += [ ICNexus ] + +ICNewbieland = { } +ICNewbieland["Name"] = "newbieland" +ICNewbieland["UnpackTo"] = None +ICNewbieland["IsOptional"] = 1 +ICNewbieland["IsIncremental"] = 1 +ICNewbieland["Packages"] = [ ] +ICNewbieland["Packages"] += [ [ "newbieland_zones", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_shapes", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_pacs", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_maps", [ ] ] ] +ICNewbieland["Packages"] += [ [ "newbieland_ig", [ ] ] ] +InstallClientData += [ ICNewbieland ] + +ICIndoors = { } +ICIndoors["Name"] = "indoors" +ICIndoors["UnpackTo"] = None +ICIndoors["IsOptional"] = 1 +ICIndoors["IsIncremental"] = 1 +ICIndoors["Packages"] = [ ] +ICIndoors["Packages"] += [ [ "indoors_shapes", [ ] ] ] +ICIndoors["Packages"] += [ [ "indoors_pacs", [ ] ] ] +ICIndoors["Packages"] += [ [ "indoors_lightmaps", [ ] ] ] +ICIndoors["Packages"] += [ [ "indoors_ig", [ ] ] ] +InstallClientData += [ ICIndoors ] + +ICR2 = { } +ICR2["Name"] = "r2" +ICR2["UnpackTo"] = None +ICR2["IsOptional"] = 1 +ICR2["IsIncremental"] = 1 +ICR2["Packages"] = [ ] +ICR2["Packages"] += [ [ "r2_misc", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots2", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle_maps", [ ] ] ] +ICR2["Packages"] += [ [ "r2_roots_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_lakes_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_jungle_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_forest_pz", [ ] ] ] +ICR2["Packages"] += [ [ "r2_desert_pz", [ ] ] ] +InstallClientData += [ ICR2 ] # end of file From db4a842b44aa14c09404cf3e93907dee307f50a2 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 08:59:46 +0200 Subject: [PATCH 12/28] Fixed: Changed from Color to String (patch provided by aquiles) --- .../leveldesign/DFN/game_elem/_brick/_brick_families.typ | 5 +++-- .../DFN/game_elem/_item/item_mp_faber_property.typ | 5 +++-- .../leveldesign/DFN/game_elem/_item/item_mp_faber_type.typ | 5 +++-- .../leveldesign/DFN/game_elem/_item/item_type.typ | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_brick/_brick_families.typ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_brick/_brick_families.typ index 90088ab8d..cbb48fcf3 100644 --- a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_brick/_brick_families.typ +++ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_brick/_brick_families.typ @@ -1,5 +1,5 @@ - + @@ -540,5 +540,6 @@ Fri Jan 03 17:49:53 2003 (fleury) Type Predef = Tue Jan 07 16:49:54 2003 (fleury) Type Predef = Fri Apr 25 17:55:48 2003 (fleury) Type Predef = -Fri Apr 25 17:55:48 2003 (fleury) Type Type = Color +Fri Apr 25 17:55:48 2003 (fleury) Type Type = Color +Mon Sep 20 08:54:23 2010 (kervala) Type Type = String diff --git a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_property.typ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_property.typ index bef579f93..141bb18a1 100644 --- a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_property.typ +++ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_property.typ @@ -1,5 +1,5 @@ - + @@ -19,5 +19,6 @@ Fri Oct 25 16:40:07 2002 (fleury) Type Predef = Fri Oct 25 16:41:42 2002 (fleury) Type Predef = Fri Oct 25 16:41:42 2002 (fleury) Type Type = Color Mon Oct 28 11:10:40 2002 (fleury) Type Predef = -Mon Oct 28 11:51:02 2002 (fleury) Type Predef = +Mon Oct 28 11:51:02 2002 (fleury) Type Predef = +Mon Sep 20 08:55:32 2010 (kervala) Type Type = String diff --git a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_type.typ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_type.typ index 6cd6bde57..27fa4b8c5 100644 --- a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_type.typ +++ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_mp_faber_type.typ @@ -1,5 +1,5 @@ - + @@ -28,5 +28,6 @@ Tue Aug 27 10:46:07 2002 (fleury) Type Predef = Tue Aug 27 10:46:07 2002 (fleury) Type Type = String -Mon Oct 28 11:51:02 2002 (fleury) Type Predef = +Mon Oct 28 11:51:02 2002 (fleury) Type Predef = +Mon Sep 20 08:56:01 2010 (kervala) Type Type = String diff --git a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_type.typ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_type.typ index a350c73a8..5057bb741 100644 --- a/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_type.typ +++ b/code/ryzom/common/data_leveldesign/leveldesign/DFN/game_elem/_item/item_type.typ @@ -1,5 +1,5 @@ - + From 32cce09f8336d8e9547171c296a7e617d3a274df Mon Sep 17 00:00:00 2001 From: kaetemi Date: Mon, 20 Sep 2010 11:27:52 +0200 Subject: [PATCH 13/28] Added: #964 Missing vcproj for wmap tools --- .../server/ai_build_wmap/ai_build_wmap.vcproj | 370 ++++++++++++++++ .../build_world_packed_col.vcproj | 414 ++++++++++++++++++ 2 files changed, 784 insertions(+) create mode 100644 code/ryzom/tools/server/ai_build_wmap/ai_build_wmap.vcproj create mode 100644 code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.vcproj diff --git a/code/ryzom/tools/server/ai_build_wmap/ai_build_wmap.vcproj b/code/ryzom/tools/server/ai_build_wmap/ai_build_wmap.vcproj new file mode 100644 index 000000000..224826064 --- /dev/null +++ b/code/ryzom/tools/server/ai_build_wmap/ai_build_wmap.vcproj @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.vcproj b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.vcproj new file mode 100644 index 000000000..8234e754d --- /dev/null +++ b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.vcproj @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b2f006b9caa886c631afa9c4e106368311b550eb Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 16:21:23 +0200 Subject: [PATCH 14/28] Changed: #825 Remove all warnings when compiling Ryzom --- code/nel/include/nel/misc/types_nl.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index 20118c11c..f2e1c0e6f 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -283,7 +283,11 @@ typedef uint64_t uint64; typedef int sint; // at least 32bits (depend of processor) typedef unsigned int uint; // at least 32bits (depend of processor) -#define NL_I64 "ll" +#if __SIZEOF_LONG__ == 8 +# define NL_I64 "l" +#else +# define NL_I64 "ll" +#endif // __SIZEOF_LONG__ == 8 #endif // NL_OS_UNIX From 7e70573c6e30009205728b45b3014575b8092f3b Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 21:37:15 +0200 Subject: [PATCH 15/28] Fixed: Debug version of mysqlclient --- code/CMakeModules/FindMySQL.cmake | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/code/CMakeModules/FindMySQL.cmake b/code/CMakeModules/FindMySQL.cmake index c52e61c03..b9970f63c 100644 --- a/code/CMakeModules/FindMySQL.cmake +++ b/code/CMakeModules/FindMySQL.cmake @@ -23,12 +23,26 @@ ELSE(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) $ENV{SystemDrive}/MySQL/*/include) IF(WIN32 AND MSVC) - FIND_LIBRARY(MYSQL_LIBRARIES NAMES libmysql mysqlclient + FIND_LIBRARY(MYSQL_LIBRARY_RELEASE NAMES libmysql mysqlclient + PATHS + $ENV{ProgramFiles}/MySQL/*/lib/opt + $ENV{SystemDrive}/MySQL/*/lib/opt) + + FIND_LIBRARY(MYSQL_LIBRARY_DEBUG NAMES libmysqld mysqlclientd PATHS $ENV{ProgramFiles}/MySQL/*/lib/opt $ENV{SystemDrive}/MySQL/*/lib/opt) ELSE(WIN32 AND MSVC) - FIND_LIBRARY(MYSQL_LIBRARIES NAMES mysqlclient + FIND_LIBRARY(MYSQL_LIBRARY_RELEASE NAMES mysqlclient + PATHS + /usr/lib + /usr/local/lib + /usr/lib/mysql + /usr/local/lib/mysql + /opt/local/lib/mysql5/mysql + ) + + FIND_LIBRARY(MYSQL_LIBRARY_DEBUG NAMES mysqlclientd PATHS /usr/lib /usr/local/lib @@ -38,6 +52,15 @@ ELSE(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) ) ENDIF(WIN32 AND MSVC) + IF(MYSQL_INCLUDE_DIR) + IF(MYSQL_LIBRARY_RELEASE) + SET(MYSQL_LIBRARIES "optimized;${MYSQL_LIBRARY_RELEASE}") + IF(MYSQL_LIBRARY_DEBUG) + SET(MYSQL_LIBRARIES "${MYSQL_LIBRARIES};debug;${MYSQL_LIBRARY_DEBUG}") + ENDIF(MYSQL_LIBRARY_DEBUG) + ENDIF(MYSQL_LIBRARY_RELEASE) + ENDIF(MYSQL_INCLUDE_DIR) + IF(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) SET(MYSQL_FOUND TRUE) MESSAGE(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}") @@ -46,6 +69,6 @@ ELSE(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) MESSAGE(STATUS "MySQL not found.") ENDIF(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) - MARK_AS_ADVANCED(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES) + MARK_AS_ADVANCED(MYSQL_LIBRARY_RELEASE MYSQL_LIBRARY_DEBUG) ENDIF(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) From 2758e14672bba0635af44611ad5889e024a72a3e Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 21:40:20 +0200 Subject: [PATCH 16/28] Changed: Snowballs projects updated --- code/snowballs2/client/src/CMakeLists.txt | 22 +++++++++-------- .../snowballs2/server/chat/src/CMakeLists.txt | 22 ++++++++++------- .../server/collision/src/CMakeLists.txt | 24 ++++++++++++------- .../server/frontend/src/CMakeLists.txt | 22 ++++++++++------- .../server/position/src/CMakeLists.txt | 14 ++++++----- 5 files changed, 61 insertions(+), 43 deletions(-) diff --git a/code/snowballs2/client/src/CMakeLists.txt b/code/snowballs2/client/src/CMakeLists.txt index dbc757a15..04a4a6aec 100644 --- a/code/snowballs2/client/src/CMakeLists.txt +++ b/code/snowballs2/client/src/CMakeLists.txt @@ -1,19 +1,21 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(snowballs ${SRC}) +ADD_EXECUTABLE(snowballs_client WIN32 ${SRC}) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS} ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR}) -TARGET_LINK_LIBRARIES(snowballs ${PLATFORM_LINKFLAGS} ${PNG_LIBRARIES} ${LIBXML2_LIBRARIES} ${FREETYPE_LIBRARY} ${JPEG_LIBRARY} ${NELMISC_LIBRARY} ${NELPACS_LIBRARY} ${NELNET_LIBRARY} ${NEL3D_LIBRARY}) +TARGET_LINK_LIBRARIES(snowballs_client + ${PLATFORM_LINKFLAGS} + nelmisc + nelpacs + nelnet + nel3d) + +NL_DEFAULT_PROPS(snowballs_client "Snowballs, Client: Snowballs Client") +NL_ADD_RUNTIME_FLAGS(snowballs_client) # If sound is enabled then add the definitions and link the libraries. IF(ENABLE_SOUND) ADD_DEFINITIONS(-DSBCLIENT_WITH_SOUND) - TARGET_LINK_LIBRARIES(snowballs ${NELSOUND_LIBRARY} ${NELSNDDRV_LIBRARY}) + TARGET_LINK_LIBRARIES(snowballs_client ${NELSOUND_LIBRARY}) ENDIF(ENABLE_SOUND) -IF(WIN32) - SET_TARGET_PROPERTIES(snowballs PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Snowballs Client") -ENDIF(WIN32) -INSTALL(TARGETS snowballs RUNTIME DESTINATION bin COMPONENT snowballsclient) +INSTALL(TARGETS snowballs_client RUNTIME DESTINATION bin COMPONENT snowballsclient) diff --git a/code/snowballs2/server/chat/src/CMakeLists.txt b/code/snowballs2/server/chat/src/CMakeLists.txt index a641ba560..d1fd55fde 100644 --- a/code/snowballs2/server/chat/src/CMakeLists.txt +++ b/code/snowballs2/server/chat/src/CMakeLists.txt @@ -1,14 +1,18 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(sno_chat ${SRC}) +ADD_EXECUTABLE(snowballs_chat_service WIN32 ${SRC}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) + +TARGET_LINK_LIBRARIES(snowballs_chat_service + ${PLATFORM_LINKFLAGS} + ${LIBXML2_LIBRARIES} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(snowballs_chat_service "Snowballs, Services: Chat") +NL_ADD_RUNTIME_FLAGS(snowballs_chat_service) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(sno_chat ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(sno_chat PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Snowballs Chat") -ENDIF(WIN32) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS sno_chat RUNTIME DESTINATION sbin COMPONENT services) +INSTALL(TARGETS snowballs_chat_service RUNTIME DESTINATION sbin COMPONENT services) diff --git a/code/snowballs2/server/collision/src/CMakeLists.txt b/code/snowballs2/server/collision/src/CMakeLists.txt index 278cdb782..291ec303b 100644 --- a/code/snowballs2/server/collision/src/CMakeLists.txt +++ b/code/snowballs2/server/collision/src/CMakeLists.txt @@ -1,14 +1,20 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(sno_collision ${SRC}) +ADD_EXECUTABLE(snowballs_collision_service WIN32 ${SRC}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) + +TARGET_LINK_LIBRARIES(snowballs_collision_service + ${PLATFORM_LINKFLAGS} + ${LIBXML2_LIBRARIES} + nelmisc + nelnet + nelpacs + nel3d) + +NL_DEFAULT_PROPS(snowballs_collision_service "Snowballs, Services: Collision") +NL_ADD_RUNTIME_FLAGS(snowballs_collision_service) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS} ${PNG_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR}) -TARGET_LINK_LIBRARIES(sno_collision ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${PNG_LIBRARIES} ${FREETYPE_LIBRARY} ${JPEG_LIBRARY} ${NELMISC_LIBRARY} ${NELNET_LIBRARY} ${NELPACS_LIBRARY} ${NEL3D_LIBRARY} ${FREETYPE_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(sno_collision PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Snowballs Collision") -ENDIF(WIN32) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS sno_collision RUNTIME DESTINATION sbin COMPONENT services) +INSTALL(TARGETS snowballs_collision_service RUNTIME DESTINATION sbin COMPONENT services) diff --git a/code/snowballs2/server/frontend/src/CMakeLists.txt b/code/snowballs2/server/frontend/src/CMakeLists.txt index 48a48a145..30ef4a05e 100644 --- a/code/snowballs2/server/frontend/src/CMakeLists.txt +++ b/code/snowballs2/server/frontend/src/CMakeLists.txt @@ -1,14 +1,18 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(sno_frontend ${SRC}) +ADD_EXECUTABLE(snowballs_frontend_service ${SRC}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) + +TARGET_LINK_LIBRARIES(snowballs_frontend_service + ${PLATFORM_LINKFLAGS} + ${LIBXML2_LIBRARIES} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(snowballs_frontend_service "Snowballs, Services: Frontend Service") +NL_ADD_RUNTIME_FLAGS(snowballs_frontend_service) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(sno_frontend ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(sno_frontend PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Snowballs Frontend") -ENDIF(WIN32) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) -INSTALL(TARGETS sno_frontend RUNTIME DESTINATION sbin COMPONENT services) +INSTALL(TARGETS snowballs_frontend_service RUNTIME DESTINATION sbin COMPONENT services) diff --git a/code/snowballs2/server/position/src/CMakeLists.txt b/code/snowballs2/server/position/src/CMakeLists.txt index 034d5edd4..dfa4afc55 100644 --- a/code/snowballs2/server/position/src/CMakeLists.txt +++ b/code/snowballs2/server/position/src/CMakeLists.txt @@ -1,11 +1,13 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(sno_position WIN32 ${SRC}) +ADD_EXECUTABLE(snowballs_position_service WIN32 ${SRC}) -INCLUDE_DIRECTORIES(${NELMISC_INCLUDE_DIRS}) +TARGET_LINK_LIBRARIES(snowballs_position_service + ${PLATFORM_LINKFLAGS} + nelmisc + nelnet) -TARGET_LINK_LIBRARIES(sno_position ${PLATFORM_LINKFLAGS} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -NL_DEFAULT_PROPS(sno_position "Services: Snowballs Position") -NL_ADD_RUNTIME_FLAGS(sno_position) +NL_DEFAULT_PROPS(snowballs_position_service "Snowballs, Services: Position Service") +NL_ADD_RUNTIME_FLAGS(snowballs_position_service) -INSTALL(TARGETS sno_position RUNTIME DESTINATION sbin COMPONENT services) +INSTALL(TARGETS snowballs_position_service RUNTIME DESTINATION sbin COMPONENT services) From 149a73e6eb7fb905a2f9f920cc757bff18ce73b9 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 21:42:33 +0200 Subject: [PATCH 17/28] Fixed: build_world_packed_col compilation --- code/ryzom/tools/server/build_world_packed_col/CMakeLists.txt | 2 +- .../server/build_world_packed_col/build_world_packed_col.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/ryzom/tools/server/build_world_packed_col/CMakeLists.txt b/code/ryzom/tools/server/build_world_packed_col/CMakeLists.txt index afd2ee19c..3e62d8fe3 100644 --- a/code/ryzom/tools/server/build_world_packed_col/CMakeLists.txt +++ b/code/ryzom/tools/server/build_world_packed_col/CMakeLists.txt @@ -6,7 +6,7 @@ INCLUDE_DIRECTORIES(${RZ_SERVER_SRC_DIR} ${LIBXML2_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(build_world_packed_col ryzom_gameshare ryzom_servershare - ai_share + ryzom_aishare ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} nelmisc diff --git a/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp index d10fffbf8..a2688d0ee 100644 --- a/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp +++ b/code/ryzom/tools/server/build_world_packed_col/build_world_packed_col.cpp @@ -188,7 +188,7 @@ int main(int argc, char* argv[]) // the same zones were found -> now check their dates against the island one uint32 packedIslandDate = CFile::getFileModificationDate(islandPath); mustRebuild = false; - for(uint k = 0; k < presentZonePathes.size(); ++k) + for(uint l = 0; l < presentZonePathes.size(); ++l) { if (CFile::getFileModificationDate(presentZonePathes[l]) > packedIslandDate) { From e1ae7e0c4d06cef692f3cf3ad944b161fe2ee1b0 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 21:43:14 +0200 Subject: [PATCH 18/28] Changed: Added NL_ADD_RUNTIME_FLAGS --- code/ryzom/client/src/seven_zip/CMakeLists.txt | 1 + code/ryzom/common/src/game_share/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/code/ryzom/client/src/seven_zip/CMakeLists.txt b/code/ryzom/client/src/seven_zip/CMakeLists.txt index fa9a1a4ea..686deb9bf 100644 --- a/code/ryzom/client/src/seven_zip/CMakeLists.txt +++ b/code/ryzom/client/src/seven_zip/CMakeLists.txt @@ -14,6 +14,7 @@ NL_ADD_RUNTIME_FLAGS(7zDec) NL_TARGET_LIB(ryzom_sevenzip ${LIB_SRC}) TARGET_LINK_LIBRARIES(ryzom_sevenzip ${PLATFORM_LINKFLAGS}) NL_DEFAULT_PROPS(ryzom_sevenzip "Ryzom, Library: Seven Zip") +NL_ADD_RUNTIME_FLAGS(ryzom_sevenzip) NL_ADD_LIB_SUFFIX(ryzom_sevenzip) ADD_DEFINITIONS(-D_SZ_ONE_DIRECTORY) diff --git a/code/ryzom/common/src/game_share/CMakeLists.txt b/code/ryzom/common/src/game_share/CMakeLists.txt index c55a8e1f9..b9c9ec39a 100644 --- a/code/ryzom/common/src/game_share/CMakeLists.txt +++ b/code/ryzom/common/src/game_share/CMakeLists.txt @@ -12,6 +12,7 @@ NL_TARGET_LIB(ryzom_gameshare ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NEL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) TARGET_LINK_LIBRARIES(ryzom_gameshare nelmisc nelnet nelligo nelgeorges ${LIBXML2_LIBRARIES} ${ZLIB_LIBRARIES}) NL_DEFAULT_PROPS(ryzom_gameshare "Ryzom, Library: Game Share") +NL_ADD_RUNTIME_FLAGS(ryzom_gameshare) NL_ADD_LIB_SUFFIX(ryzom_gameshare) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) From 7528f35fdfd082fee7738344f89501ccabc9bf39 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 21:50:45 +0200 Subject: [PATCH 19/28] Changed: NeLNS projects updated --- code/nelns/CMakeLists.txt | 89 ------------------- .../admin_executor_service/CMakeLists.txt | 19 ++-- code/nelns/admin_service/CMakeLists.txt | 22 +++-- code/nelns/login_service/CMakeLists.txt | 22 +++-- .../nel_launcher_qt/CMakeLists.txt | 17 +++- .../nel_launcher_windows_ext2/CMakeLists.txt | 10 ++- code/nelns/naming_service/CMakeLists.txt | 20 +++-- code/nelns/welcome_service/CMakeLists.txt | 18 ++-- 8 files changed, 82 insertions(+), 135 deletions(-) diff --git a/code/nelns/CMakeLists.txt b/code/nelns/CMakeLists.txt index 398e28911..5bd88cb51 100644 --- a/code/nelns/CMakeLists.txt +++ b/code/nelns/CMakeLists.txt @@ -1,75 +1,3 @@ -#----------------------------------------------------------------------------- -# -# NeLNS -# Author: Nevrax -# -# Notes: -# * Changing install location: add -DCMAKE_INSTALL_PREFIX:PATH=/my/new/path -# * Changing NeL prefix: add -DNEL_PREFIX_PATH:PATH=/my/nel/install -# * Changing specific install location variables: -# * NL_ETC_PREFIX (default: $CMAKE_INSTALL_PREFIX/etc) -# * NL_SHARE_PREFIX (default: $CMAKE_INSTALL_PREFIX/share) -# * NL_BIN_PREFIX (default: $CMAKE_INSTALL_PREFIX/bin) -# * NL_SBIN_PREFIX (default: $CMAKE_INSTALL_PREFIX/sbin) -# * Updating version: update header (above) but also update NL_VERSION below. -# * To build binary archive, use the 'package' target. -# To build source archive, use the 'package_source' target. -# -#----------------------------------------------------------------------------- - -#----------------------------------------------------------------------------- -# Load some macros. -SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}") -INCLUDE(CMakeModules/nel.cmake) - -#----------------------------------------------------------------------------- -# Force out of source builds. -CHECK_OUT_OF_SOURCE() - -IF(WIN32) - SET(CMAKE_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/../3rdParty/include;${CMAKE_INCLUDE_PATH}") - SET(CMAKE_LIBRARY_PATH "${CMAKE_SOURCE_DIR}/../3rdParty/lib;${CMAKE_INCLUDE_PATH}") - IF(NOT DEFINED ENV{QTDIR}) - SET(ENV{QTDIR} "c:/qt/4.5.0") - ENDIF(NOT DEFINED ENV{QTDIR}) -ENDIF(WIN32) - -IF(DEFINED NEL_PREFIX_PATH) - SET(CMAKE_INCLUDE_PATH "${NEL_PREFIX_PATH}/include;${CMAKE_INCLUDE_PATH}") - SET(CMAKE_LIBRARY_PATH "${NEL_PREFIX_PATH}/lib;${CMAKE_LIBRARY_PATH}") -ENDIF(DEFINED NEL_PREFIX_PATH) - -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) - -PROJECT(NeLNS CXX C) -SET(NL_VERSION_MAJOR 0) -SET(NL_VERSION_MINOR 7) -SET(NL_VERSION_PATCH 0) -SET(NL_VERSION "${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}.${NL_VERSION_PATCH}") - -#----------------------------------------------------------------------------- -# Redirect output files -SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) -SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) - -#----------------------------------------------------------------------------- -# Set CMake 2.6 Policies. -IF(COMMAND cmake_policy) - # Works around warnings libraries linked against that don't - # have absolute paths (e.g. -lpthreads) - cmake_policy(SET CMP0003 NEW) - - # Works around warnings about escaped quotes in ADD_DEFINITIONS - # statements - cmake_policy(SET CMP0005 OLD) -ENDIF(COMMAND cmake_policy) - -#----------------------------------------------------------------------------- -# Set default config options -# -NL_SETUP_DEFAULT_OPTIONS() -NL_SETUP_PREFIX_PATHS() - #----------------------------------------------------------------------------- # Override default options OPTION(BUILD_SERVICES "Build NeLNS Services" ON ) @@ -79,23 +7,13 @@ OPTION(BUILD_RYZOM_LAUNCHER "Build Ryzom Launcher" OFF) #----------------------------------------------------------------------------- #Platform specifics -FIND_PACKAGE(Threads REQUIRED) -FIND_PACKAGE(LibXml2 REQUIRED) FIND_PACKAGE(MySQL) FIND_PACKAGE(CURL) -FIND_PACKAGE(ZLIB) IF(WITH_QT) FIND_PACKAGE(Qt4 REQUIRED) ENDIF(WITH_QT) -NL_SETUP_BUILD() - -FIND_PACKAGE(NeLMISC) -FIND_PACKAGE(NeLNET) - -NL_SETUP_BUILD_FLAGS() - SET(ETCDIR "${NL_ETC_PREFIX}/nelns") SET(PKGDIR "${NL_SHARE_PREFIX}/nelns") SET(LOGDIR "${NL_LOG_PREFIX}/nelns") @@ -113,10 +31,3 @@ ENDIF(BUILD_SERVICES) IF(BUILD_LOGIN_SYSTEM) ADD_SUBDIRECTORY(login_system) ENDIF(BUILD_LOGIN_SYSTEM) - - - -#----------------------------------------------------------------------------- -#Packaging -INCLUDE(CMakePackaging.txt) - diff --git a/code/nelns/admin_executor_service/CMakeLists.txt b/code/nelns/admin_executor_service/CMakeLists.txt index 8a8aab1de..4b7905b4f 100644 --- a/code/nelns/admin_executor_service/CMakeLists.txt +++ b/code/nelns/admin_executor_service/CMakeLists.txt @@ -1,14 +1,17 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(admin_executor_service ${SRC}) +ADD_EXECUTABLE(admin_executor_service WIN32 ${SRC}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) + +TARGET_LINK_LIBRARIES(admin_executor_service + ${PLATFORM_LINKFLAGS} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(admin_executor_service "NelNS, Services: Admin Executor Service") +NL_ADD_RUNTIME_FLAGS(admin_executor_service) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(admin_executor_service ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(admin_executor_service PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Admin Executor Service") -ENDIF(WIN32) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS admin_executor_service RUNTIME DESTINATION sbin COMPONENT aes) diff --git a/code/nelns/admin_service/CMakeLists.txt b/code/nelns/admin_service/CMakeLists.txt index 8debd59f1..2427555e9 100644 --- a/code/nelns/admin_service/CMakeLists.txt +++ b/code/nelns/admin_service/CMakeLists.txt @@ -1,14 +1,20 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(admin_service ${SRC}) +ADD_EXECUTABLE(admin_service WIN32 ${SRC}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${MYSQL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) + +TARGET_LINK_LIBRARIES(admin_service + ${PLATFORM_LINKFLAGS} + ${LIBXML2_LIBRARIES} + ${MYSQL_LIBRARIES} + ${ZLIB_LIBRARIES} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(admin_service "NelNS, Services: Admin Service") +NL_ADD_RUNTIME_FLAGS(admin_service) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${MYSQL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(admin_service ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${MYSQL_LIBRARIES} ${ZLIB_LIBRARIES} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(admin_service PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Admin Service") -ENDIF(WIN32) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS admin_service RUNTIME DESTINATION sbin COMPONENT as) diff --git a/code/nelns/login_service/CMakeLists.txt b/code/nelns/login_service/CMakeLists.txt index 4de594841..da660e4f3 100644 --- a/code/nelns/login_service/CMakeLists.txt +++ b/code/nelns/login_service/CMakeLists.txt @@ -1,14 +1,20 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(login_service ${SRC}) +ADD_EXECUTABLE(login_service WIN32 ${SRC}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${MYSQL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR}) + +TARGET_LINK_LIBRARIES(login_service + ${PLATFORM_LINKFLAGS} + ${LIBXML2_LIBRARIES} + ${MYSQL_LIBRARIES} + ${ZLIB_LIBRARIES} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(login_service "NelNS, Services: Login Service") +NL_ADD_RUNTIME_FLAGS(login_service) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${MYSQL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(login_service ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${MYSQL_LIBRARIES} ${ZLIB_LIBRARIES} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(login_service PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Login Service") -ENDIF(WIN32) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS login_service RUNTIME DESTINATION sbin COMPONENT ls) diff --git a/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt b/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt index 71bdc1afb..08eebb360 100644 --- a/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt +++ b/code/nelns/login_system/nel_launcher_qt/CMakeLists.txt @@ -14,11 +14,20 @@ QT4_ADD_RESOURCES( NEL_LAUNCHER_RC_SRCS ${NEL_LAUNCHER_RCS} ) QT4_WRAP_UI( NEL_LAUNCHER_UI_HDRS ${NEL_LAUNCHER_UIS} ) QT4_WRAP_CPP( NEL_LAUNCHER_MOC_SRCS ${NEL_LAUNCHER_HDR}) -ADD_EXECUTABLE(nel_launcher_qt ${NEL_LAUNCHER_SRC} ${NEL_LAUNCHER_MOC_SRCS} ${NEL_LAUNCHER_RC_SRCS} ${NEL_LAUNCHER_UI_HDRS}) +ADD_EXECUTABLE(nel_launcher_qt WIN32 ${NEL_LAUNCHER_SRC} ${NEL_LAUNCHER_MOC_SRCS} ${NEL_LAUNCHER_RC_SRCS} ${NEL_LAUNCHER_UI_HDRS}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${QT_INCLUDES}) + +TARGET_LINK_LIBRARIES(nel_launcher_qt + ${LIBXML2_LIBRARIES} + ${QT_LIBRARIES} + ${PLATFORM_LINKFLAGS} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(nel_launcher_qt "NelNS, Launcher: NeL Launcher Qt") +NL_ADD_RUNTIME_FLAGS(nel_launcher_qt) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${QT_INCLUDES} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(nel_launcher_qt ${LIBXML2_LIBRARIES} ${QT_LIBRARIES} ${PLATFORM_LINKFLAGS} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -SET_TARGET_PROPERTIES(nel_launcher_qt PROPERTIES PROJECT_LABEL "Launcher: NeL Launcher Qt") ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} ${QT_DEFINITIONS}) INSTALL(TARGETS nel_launcher_qt RUNTIME DESTINATION bin COMPONENT launcher) diff --git a/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt b/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt index 4bdc373b1..eeb6147cd 100644 --- a/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt +++ b/code/nelns/login_system/nel_launcher_windows_ext2/CMakeLists.txt @@ -6,10 +6,14 @@ IF(CURL_FOUND) ENDIF(CURL_FOUND) ADD_DEFINITIONS(-DNL_LAUNCHER_CFG="\\"${NL_ETC_PREFIX}/\\"") -INCLUDE_DIRECTORIES(${NELMISC_INCLUDE_DIRS}) +TARGET_LINK_LIBRARIES(nel_launcher_ext2 + ${PLATFORM_LINKFLAGS} + nelnet + nelmisc + ${ZLIB_LIBRARY} + ${CURL_LIBRARY}) -TARGET_LINK_LIBRARIES(nel_launcher_ext2 ${PLATFORM_LINKFLAGS} ${NELNET_LIBRARY} ${NELMISC_LIBRARY} ${ZLIB_LIBRARY} ${CURL_LIBRARY}) -NL_DEFAULT_PROPS(nel_launcher_ext2 "Launcher: NeL Launcher Ext2") +NL_DEFAULT_PROPS(nel_launcher_ext2 "NeLNS, Launcher: NeL Launcher Ext2") NL_ADD_RUNTIME_FLAGS(nel_launcher_ext2) INSTALL(TARGETS nel_launcher_ext2 RUNTIME DESTINATION bin COMPONENT launcher) diff --git a/code/nelns/naming_service/CMakeLists.txt b/code/nelns/naming_service/CMakeLists.txt index 11a3ca4dc..bb6fd0a35 100644 --- a/code/nelns/naming_service/CMakeLists.txt +++ b/code/nelns/naming_service/CMakeLists.txt @@ -1,14 +1,18 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(naming_service ${SRC}) +ADD_EXECUTABLE(naming_service WIN32 ${SRC}) + +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR}) + +TARGET_LINK_LIBRARIES(naming_service + ${PLATFORM_LINKFLAGS} + ${LIBXML2_LIBRARIES} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(naming_service "NeLNS, Services: Naming Service") +NL_ADD_RUNTIME_FLAGS(naming_service) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(naming_service ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(naming_service PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Naming Service") -ENDIF(WIN32) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS naming_service RUNTIME DESTINATION sbin COMPONENT ns) diff --git a/code/nelns/welcome_service/CMakeLists.txt b/code/nelns/welcome_service/CMakeLists.txt index c50da1989..720621f2c 100644 --- a/code/nelns/welcome_service/CMakeLists.txt +++ b/code/nelns/welcome_service/CMakeLists.txt @@ -1,14 +1,18 @@ FILE(GLOB SRC *.cpp *.h) -ADD_EXECUTABLE(welcome_service ${SRC}) +ADD_EXECUTABLE(welcome_service WIN32 ${SRC}) INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NELMISC_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(welcome_service ${PLATFORM_LINKFLAGS} ${LIBXML2_LIBRARIES} ${NELMISC_LIBRARY} ${NELNET_LIBRARY}) -IF(WIN32) - SET_TARGET_PROPERTIES(welcome_service PROPERTIES - LINK_FLAGS "/NODEFAULTLIB:libcmt /SUBSYSTEM:WINDOWS" - PROJECT_LABEL "Services: Welcome Service") -ENDIF(WIN32) + +TARGET_LINK_LIBRARIES(welcome_service + ${PLATFORM_LINKFLAGS} + ${LIBXML2_LIBRARIES} + nelmisc + nelnet) + +NL_DEFAULT_PROPS(welcome_service "NeLNS, Services: Welcome Service") +NL_ADD_RUNTIME_FLAGS(welcome_service) + ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) INSTALL(TARGETS welcome_service RUNTIME DESTINATION sbin COMPONENT ws) From 32f0a5037f1b59d94fbd085bb8c91e7f60554b9a Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 20 Sep 2010 21:58:24 +0200 Subject: [PATCH 20/28] Changed: #825 Remove all warnings when compiling Ryzom --- code/nel/src/3d/ps_mesh.cpp | 2 +- code/nel/src/net/module_gateway.cpp | 4 +- .../nel/tools/pacs/build_rbank/build_surf.cpp | 44 ------------- .../src/client_sheets/attack_id_sheet.cpp | 2 +- .../src/client_sheets/body_to_bone_sheet.cpp | 5 +- code/ryzom/client/src/far_tp.cpp | 2 - code/ryzom/client/src/forage_source_cl.cpp | 2 +- code/ryzom/client/src/graph.h | 2 +- code/ryzom/client/src/ground_fx_manager.cpp | 2 +- code/ryzom/client/src/hair_set.cpp | 1 - .../src/interface_v3/inventory_manager.cpp | 1 + .../ryzom/client/src/interface_v3/lua_ihm.cpp | 4 +- .../client/src/interface_v3/obs_huge_list.h | 2 +- .../client/src/interface_v3/view_renderer.cpp | 4 +- .../client/src/interface_v3/view_text.cpp | 2 +- code/ryzom/client/src/light_cycle_manager.cpp | 2 +- code/ryzom/client/src/misc.cpp | 7 +-- code/ryzom/client/src/npc_icon.cpp | 2 +- code/ryzom/client/src/precipitation.cpp | 2 +- code/ryzom/client/src/property_decoder.h | 2 +- code/ryzom/client/src/rosace.cpp | 2 +- code/ryzom/client/src/sound_manager.cpp | 2 - .../client/src/string_manager_client.cpp | 2 +- code/ryzom/client/src/timed_fx_manager.cpp | 22 ------- code/ryzom/client/src/timed_fx_manager.h | 62 ------------------- code/ryzom/client/src/water_env_map_rdr.h | 2 +- 26 files changed, 26 insertions(+), 160 deletions(-) diff --git a/code/nel/src/3d/ps_mesh.cpp b/code/nel/src/3d/ps_mesh.cpp index 514145922..ca354b09d 100644 --- a/code/nel/src/3d/ps_mesh.cpp +++ b/code/nel/src/3d/ps_mesh.cpp @@ -1973,7 +1973,7 @@ void CPSConstraintMesh::newElement(const CPSEmitterInfo &info) NL_PS_FUNC(CPSConstraintMesh_newElement) newSizeElement(info); newPlaneBasisElement(info); - // TODO : avoid code cuplication with CPSFace ... + // TODO : avoid code duplication with CPSFace ... const uint32 nbConf = (uint32)_PrecompBasis.size(); if (nbConf) // do we use precomputed basis ? { diff --git a/code/nel/src/net/module_gateway.cpp b/code/nel/src/net/module_gateway.cpp index e6c9f9cf8..3a608413f 100644 --- a/code/nel/src/net/module_gateway.cpp +++ b/code/nel/src/net/module_gateway.cpp @@ -2326,9 +2326,9 @@ namespace NLNET // recall the dump for the module class NLMISC_CLASS_COMMAND_CALL_BASE(CModuleBase, dump); - log.displayNL("------------------------------"); + log.displayNL("-----------------------------"); log.displayNL("Dumping gateway information :"); - log.displayNL("------------------------------"); + log.displayNL("-----------------------------"); log.displayNL("The gateway has %u locally plugged module :", _PluggedModules.getAToBMap().size()); { diff --git a/code/nel/tools/pacs/build_rbank/build_surf.cpp b/code/nel/tools/pacs/build_rbank/build_surf.cpp index 8ab88a9eb..2fe909cb8 100644 --- a/code/nel/tools/pacs/build_rbank/build_surf.cpp +++ b/code/nel/tools/pacs/build_rbank/build_surf.cpp @@ -271,13 +271,6 @@ public: /* * CSurfElement methods * - * - * - * - * - * - * - * */ @@ -401,21 +394,9 @@ CAABBox NLPACS::CSurfElement::getBBox() const return box; } - - - - - /* * CComputableSurfaceBorder methods implementation * - * - * - * - * - * - * - * */ void NLPACS::CComputableSurfaceBorder::dump() @@ -502,34 +483,9 @@ void NLPACS::CComputableSurfaceBorder::smooth(float val) nlinfo("smoothed border %d-%d: %d -> %d", Left, Right, before, after); } - - - - - - - - - - - - - - - - - - /* * CComputableSurface methods implementation * - * - * - * - * - * - * - * */ void NLPACS::CComputableSurface::followBorder(CZoneTessellation *zoneTessel, CSurfElement *first, uint edge, uint sens, vector &vstore, bool &loop) { diff --git a/code/ryzom/client/src/client_sheets/attack_id_sheet.cpp b/code/ryzom/client/src/client_sheets/attack_id_sheet.cpp index 0780d76d2..8a11114f3 100644 --- a/code/ryzom/client/src/client_sheets/attack_id_sheet.cpp +++ b/code/ryzom/client/src/client_sheets/attack_id_sheet.cpp @@ -144,4 +144,4 @@ bool operator < (const CAttackIDSheet::CSpellInfo &lhs, const CAttackIDSheet::CS if (lhs.Mode != rhs.Mode) return lhs.Mode < rhs.Mode; if (lhs.ID != rhs.ID) return lhs.ID < rhs.ID; return false; -} \ No newline at end of file +} diff --git a/code/ryzom/client/src/client_sheets/body_to_bone_sheet.cpp b/code/ryzom/client/src/client_sheets/body_to_bone_sheet.cpp index 105378b26..77dc1c4e1 100644 --- a/code/ryzom/client/src/client_sheets/body_to_bone_sheet.cpp +++ b/code/ryzom/client/src/client_sheets/body_to_bone_sheet.cpp @@ -86,6 +86,7 @@ const char *CBodyToBoneSheet::getBoneName(BODY::TBodyPart part, BODY::TSide side case BODY::HHands: return ClientSheetsStrings.get(side == BODY::Left ? LeftHand : RightHand); case BODY::HLegs: return ClientSheetsStrings.get(side == BODY::Left ? LeftLeg : RightLeg); case BODY::HFeet: return ClientSheetsStrings.get(side == BODY::Left ? LeftFoot : RightFoot); - default: return NULL; + default: break; } -} \ No newline at end of file + return NULL; +} diff --git a/code/ryzom/client/src/far_tp.cpp b/code/ryzom/client/src/far_tp.cpp index 20c553e4c..5edcce264 100644 --- a/code/ryzom/client/src/far_tp.cpp +++ b/code/ryzom/client/src/far_tp.cpp @@ -1454,5 +1454,3 @@ void CFarTP::farTPmainLoop() if(welcomeWindow) initWelcomeWindow(); } - - diff --git a/code/ryzom/client/src/forage_source_cl.cpp b/code/ryzom/client/src/forage_source_cl.cpp index a70e53437..2f0aa8dda 100644 --- a/code/ryzom/client/src/forage_source_cl.cpp +++ b/code/ryzom/client/src/forage_source_cl.cpp @@ -682,4 +682,4 @@ NLMISC_COMMAND( viewSourcePos, "", "" ) ViewedSource->displayInscenePos(); } return true; -}*/ \ No newline at end of file +}*/ diff --git a/code/ryzom/client/src/graph.h b/code/ryzom/client/src/graph.h index b16f3a62a..9f3ebad2f 100644 --- a/code/ryzom/client/src/graph.h +++ b/code/ryzom/client/src/graph.h @@ -158,4 +158,4 @@ private: #endif // GRAPH_H -/* End of graph.h */ \ No newline at end of file +/* End of graph.h */ diff --git a/code/ryzom/client/src/ground_fx_manager.cpp b/code/ryzom/client/src/ground_fx_manager.cpp index 18fd41fe0..92267dd2a 100644 --- a/code/ryzom/client/src/ground_fx_manager.cpp +++ b/code/ryzom/client/src/ground_fx_manager.cpp @@ -1038,4 +1038,4 @@ NLMISC_COMMAND(gfxStopAll, "gfxStopAll", "<>") return true; } -#endif \ No newline at end of file +#endif diff --git a/code/ryzom/client/src/hair_set.cpp b/code/ryzom/client/src/hair_set.cpp index 3860651ba..5afd7ba99 100644 --- a/code/ryzom/client/src/hair_set.cpp +++ b/code/ryzom/client/src/hair_set.cpp @@ -157,4 +157,3 @@ EGSPD::CPeople::TPeople CHairSet::getPeopleFromHairItemID(uint id) const } return EGSPD::CPeople::EndPeople; } - diff --git a/code/ryzom/client/src/interface_v3/inventory_manager.cpp b/code/ryzom/client/src/interface_v3/inventory_manager.cpp index 2fe27b70a..84319306c 100644 --- a/code/ryzom/client/src/interface_v3/inventory_manager.cpp +++ b/code/ryzom/client/src/interface_v3/inventory_manager.cpp @@ -2088,6 +2088,7 @@ bool SBagOptions::canDisplay(CDBCtrlSheet *pCS) const if (pIS->Id.toString().substr(0, 6) == "rpjob_") bDisplay = false; } + return bDisplay; } diff --git a/code/ryzom/client/src/interface_v3/lua_ihm.cpp b/code/ryzom/client/src/interface_v3/lua_ihm.cpp index 07e692fef..01186668e 100644 --- a/code/ryzom/client/src/interface_v3/lua_ihm.cpp +++ b/code/ryzom/client/src/interface_v3/lua_ihm.cpp @@ -617,8 +617,8 @@ int CLuaIHM::luaMethodCall(lua_State *ls) // state->remove(1); // remove 'self' reference from parameters stack // - int numResults = 0; - int initialStackSize = state->getTop(); + sint numResults = 0; + sint initialStackSize = state->getTop(); try { // call the actual method diff --git a/code/ryzom/client/src/interface_v3/obs_huge_list.h b/code/ryzom/client/src/interface_v3/obs_huge_list.h index fe2fba4f2..3c19be480 100644 --- a/code/ryzom/client/src/interface_v3/obs_huge_list.h +++ b/code/ryzom/client/src/interface_v3/obs_huge_list.h @@ -276,4 +276,4 @@ private: CCDBNodeLeaf *_RoleMasterRaceDB; }; -#endif \ No newline at end of file +#endif diff --git a/code/ryzom/client/src/interface_v3/view_renderer.cpp b/code/ryzom/client/src/interface_v3/view_renderer.cpp index a2b38c3f5..2eb00c5fa 100644 --- a/code/ryzom/client/src/interface_v3/view_renderer.cpp +++ b/code/ryzom/client/src/interface_v3/view_renderer.cpp @@ -1029,9 +1029,7 @@ sint32 CViewRenderer::getTextureIdFromName (const string &sName) const return -1; // convert to lowCase - static string nameLwr; - nameLwr= sName; - strlwr(nameLwr); + static string nameLwr = toLower(sName); string::size_type stripPng = nameLwr.find(".png"); if (stripPng != string::npos) { diff --git a/code/ryzom/client/src/interface_v3/view_text.cpp b/code/ryzom/client/src/interface_v3/view_text.cpp index 2ab27e55c..2a84e213a 100644 --- a/code/ryzom/client/src/interface_v3/view_text.cpp +++ b/code/ryzom/client/src/interface_v3/view_text.cpp @@ -1935,7 +1935,7 @@ void CViewText::CWord::build(const ucstring &text, uint numSpaces/*=0*/) // *************************************************************************** void CViewText::removeEndSpaces() { - int i = (int)_Text.size()-1; + sint i = (sint)_Text.size()-1; while ((i>=0) && ((_Text[i] < 0x20) || (_Text[i] == ' '))) { i--; diff --git a/code/ryzom/client/src/light_cycle_manager.cpp b/code/ryzom/client/src/light_cycle_manager.cpp index 3a3d1863b..ef12dc096 100644 --- a/code/ryzom/client/src/light_cycle_manager.cpp +++ b/code/ryzom/client/src/light_cycle_manager.cpp @@ -580,4 +580,4 @@ void CLightCycleManager::setupDayToNightLight(NL3D::UScene &scene, const CDirLig scene ); } -} \ No newline at end of file +} diff --git a/code/ryzom/client/src/misc.cpp b/code/ryzom/client/src/misc.cpp index 4e9281584..bd45482b6 100644 --- a/code/ryzom/client/src/misc.cpp +++ b/code/ryzom/client/src/misc.cpp @@ -653,8 +653,9 @@ bool isUserColorSupported(const CPlayerSheet &playerSheet, SLOTTYPE::EVisualSlot case SLOTTYPE::FEET_SLOT: return isUserColorSupported(playerSheet.Feet); case SLOTTYPE::RIGHT_HAND_SLOT: return isUserColorSupported(playerSheet.ObjectInRightHand); case SLOTTYPE::LEFT_HAND_SLOT: return isUserColorSupported(playerSheet.ObjectInLeftHand); - default: return false; + default: break; } + return false; }// isUserColorSupported // @@ -1078,9 +1079,7 @@ void setCase (ucstring &str, TCaseMode mode) } } break; - case CaseNormal: - break; - case CaseCount: + default: break; } } diff --git a/code/ryzom/client/src/npc_icon.cpp b/code/ryzom/client/src/npc_icon.cpp index 99d0ed515..4857a7ad0 100644 --- a/code/ryzom/client/src/npc_icon.cpp +++ b/code/ryzom/client/src/npc_icon.cpp @@ -495,4 +495,4 @@ NLMISC_COMMAND(queryMissionGiverData, "Query mission giver data for the specifie #endif -//#pragma optimize ("", on) \ No newline at end of file +//#pragma optimize ("", on) diff --git a/code/ryzom/client/src/precipitation.cpp b/code/ryzom/client/src/precipitation.cpp index 472d76598..782c476ff 100644 --- a/code/ryzom/client/src/precipitation.cpp +++ b/code/ryzom/client/src/precipitation.cpp @@ -316,4 +316,4 @@ void CPrecipitation::drawClipGrid(NL3D::UDriver &drv) const { if (!_ClipGrid) return; _ClipGrid->display(drv); -} \ No newline at end of file +} diff --git a/code/ryzom/client/src/property_decoder.h b/code/ryzom/client/src/property_decoder.h index 0dd3fa413..7ce83c684 100644 --- a/code/ryzom/client/src/property_decoder.h +++ b/code/ryzom/client/src/property_decoder.h @@ -127,4 +127,4 @@ public: #endif // NL_PROPERTY_DECODER_H -/* End of property_decoder.h */ \ No newline at end of file +/* End of property_decoder.h */ diff --git a/code/ryzom/client/src/rosace.cpp b/code/ryzom/client/src/rosace.cpp index 5f6c038a7..759fa20a0 100644 --- a/code/ryzom/client/src/rosace.cpp +++ b/code/ryzom/client/src/rosace.cpp @@ -558,4 +558,4 @@ void CRosace::swap() { if(valide()) _Contexts[_Selected].next(); -}// swap // \ No newline at end of file +}// swap // diff --git a/code/ryzom/client/src/sound_manager.cpp b/code/ryzom/client/src/sound_manager.cpp index 47916f5fc..762eeb298 100644 --- a/code/ryzom/client/src/sound_manager.cpp +++ b/code/ryzom/client/src/sound_manager.cpp @@ -1508,7 +1508,6 @@ void CSoundManager::stopEventMusic(const string &fileName, uint xFadeTime) if(_AudioMixer) { // if the event music is the one currently played, or if empty fileName - if(fileName.empty() || nlstricmp(_EventMusicPlayed,fileName)==0) { // stop the music @@ -1851,4 +1850,3 @@ bool CMaterialStepSounds::getSounds( TMoveType moveType, bool soft, vector Date: Mon, 20 Sep 2010 22:02:35 +0200 Subject: [PATCH 21/28] Changed: Added NL_ADD_RUNTIME_FLAGS --- code/nel/src/misc/CMakeLists.txt | 1 + code/nel/tools/misc/message_box_qt/CMakeLists.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/code/nel/src/misc/CMakeLists.txt b/code/nel/src/misc/CMakeLists.txt index 74c067755..1710e5b6b 100644 --- a/code/nel/src/misc/CMakeLists.txt +++ b/code/nel/src/misc/CMakeLists.txt @@ -42,6 +42,7 @@ INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${PNG_INCLUDE_DIR} config_file) TARGET_LINK_LIBRARIES(nelmisc ${CMAKE_THREAD_LIBS_INIT} ${LIBXML2_LIBRARIES}) SET_TARGET_PROPERTIES(nelmisc PROPERTIES LINK_INTERFACE_LIBRARIES "") NL_DEFAULT_PROPS(nelmisc "NeL, Library: NeL Misc") +NL_ADD_RUNTIME_FLAGS(nelmisc) NL_ADD_LIB_SUFFIX(nelmisc) diff --git a/code/nel/tools/misc/message_box_qt/CMakeLists.txt b/code/nel/tools/misc/message_box_qt/CMakeLists.txt index ebbf4fbb4..d2e05eac7 100644 --- a/code/nel/tools/misc/message_box_qt/CMakeLists.txt +++ b/code/nel/tools/misc/message_box_qt/CMakeLists.txt @@ -10,6 +10,7 @@ ADD_EXECUTABLE(message_box_qt ${MESSAGE_BOX_SRC}) TARGET_LINK_LIBRARIES(message_box_qt ${QT_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc) NL_DEFAULT_PROPS(message_box_qt "Tools, Misc: Qt Message Box") +NL_ADD_RUNTIME_FLAGS(message_box_qt) ADD_DEFINITIONS(${QT_DEFINITIONS}) From 7f739bed8ab3f96536d46aa40ff19620ac5cdc89 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Tue, 21 Sep 2010 00:44:02 +0200 Subject: [PATCH 22/28] Changed: #1092 Reliability improvements for 3dsmax nel export --- .../nel_export/nel_export_export.cpp | 72 +++++++++++++++---- .../nel_export/nel_export_script.cpp | 52 ++++++++++++++ .../plugin_max/nel_mesh_lib/export_mesh.cpp | 11 ++- .../3d/plugin_max/nel_mesh_lib/export_nel.h | 2 +- 4 files changed, 115 insertions(+), 22 deletions(-) diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp index 9f582bd23..a9aa9e3d1 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp @@ -36,11 +36,18 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) { // Result to return bool bRet = false; - char tempName[L_tmpnam]; - tmpnam(tempName); + char tempFileName[MAX_PATH] = { 0 }; + char tempPathBuffer[MAX_PATH] = { 0 }; try - { + { + DWORD dwRetVal = GetTempPathA(MAX_PATH, tempPathBuffer); + if (dwRetVal > MAX_PATH || (dwRetVal == 0)) + nlerror("GetTempPath failed"); + UINT uRetVal = GetTempFileNameA(tempPathBuffer, TEXT("_nel_export_mesh_"), 0, tempFileName); + if (uRetVal == 0) + nlerror("GetTempFileName failed"); + // Eval the object a time ObjectState os = node.EvalWorldState(time); @@ -48,7 +55,7 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) if (os.obj) { // Skeleton shape - CSmartPtr skeletonShape = NULL; + CSkeletonShape * skeletonShape = NULL; TInodePtrInt *mapIdPtr=NULL; TInodePtrInt mapId; @@ -69,7 +76,7 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) CExportNel::addSkeletonBindPos (node, boneBindPos); // Build the skeleton based on the bind pos information - _ExportNel->buildSkeletonShape(*skeletonShape.getPtr(), *skeletonRoot, &boneBindPos, mapId, time); + _ExportNel->buildSkeletonShape(*skeletonShape, *skeletonRoot, &boneBindPos, mapId, time); // Set the pointer to not NULL mapIdPtr=&mapId; @@ -83,16 +90,16 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) if (InfoLog) InfoLog->display("Beg buildShape %s \n", node.GetName()); // Export in mesh format - CSmartPtr pShape = _ExportNel->buildShape(node, time, mapIdPtr, true); + IShape *pShape = _ExportNel->buildShape(node, time, mapIdPtr, true); if (InfoLog) InfoLog->display("End buildShape in %d ms \n", timeGetTime()-t); // Conversion success ? - if (pShape.getPtr()) + if (pShape) { // Open a file COFile file; - if (file.open(tempName)) + if (file.open(tempFileName)) { try { @@ -102,6 +109,9 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) // Serial the shape shapeStream.serial(file); + // Close the file + file.close(); + // All is good bRet = true; } @@ -116,29 +126,61 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) { } - remove(tempName); + remove(tempFileName); } } else { - nlwarning("Failed to create file %s", tempName); + nlwarning("Failed to create file %s", tempFileName); } // Delete the pointer - nldebug ("Delete the pointer"); + nldebug("Delete the pointer"); try { bool tempBRet = bRet; bRet = false; - pShape = NULL; + // delete pShape; // FIXME: there is a delete bug with CMeshMultiLod exported from max!!! bRet = tempBRet; } catch (...) { nlwarning("Failed to delete pShape pointer! Something might be wrong."); - remove(tempName); + remove(tempFileName); bRet = false; } + + // Verify the file + nldebug("Verify exported shape file"); + try + { + bool tempBRet = bRet; + bRet = false; + CIFile vf; + if (vf.open(tempFileName)) + { + nldebug("File opened, size: %u", vf.getFileSize()); + CShapeStream s; + s.serial(vf); + nldebug("Shape serialized"); + vf.close(); + nldebug("File closed"); + delete s.getShapePointer(); + nldebug("Shape deleted"); + bRet = tempBRet; + } + else + { + nlwarning("Failed to open file: %s", tempFileName); + } + } + catch (...) + { + nlwarning("Failed to verify shape. Must crash now."); + remove(tempFileName); + bRet = false; + } + } } } @@ -158,8 +200,8 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) { } - CFile::moveFile(sPath, tempName); - nlinfo("MOVE %s -> %s", tempName, sPath); + CFile::moveFile(sPath, tempFileName); + nlinfo("MOVE %s -> %s", tempFileName, sPath); } return bRet; diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp index 6ad05dfcb..8767ff7a9 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp @@ -55,6 +55,9 @@ def_visible_primitive ( mirror_physique, "NelMirrorPhysique" ); def_visible_primitive ( get_file_modification_date, "NeLGetFileModificationDate" ); def_visible_primitive ( set_file_modification_date, "NeLSetFileModificationDate" ); +def_visible_primitive ( force_quit_on_msg_displayer, "NelForceQuitOnMsgDisplayer"); +def_visible_primitive ( force_quit_right_now, "NelForceQuitRightNow"); + char *sExportShapeErrorMsg = "NeLExportShape [Object] [Filename.shape]"; char *sExportShapeExErrorMsg = "NeLExportShapeEx [Object] [Filename.shape] [bShadow] [bExportLighting] [sLightmapPath] [nLightingLimit] [fLumelSize] [nOverSampling] [bExcludeNonSelected] [bShowLumel]"; char *sExportAnimationErrorMsg = "NelExportAnimation [node array] [Filename.anim] [bool_scene_animation]"; @@ -933,6 +936,55 @@ Value* set_file_modification_date_cf (Value** arg_list, int count) return &false_value; } +class CSuicideMsgBoxDisplayer : public CMsgBoxDisplayer +{ +public: + CSuicideMsgBoxDisplayer (const char *displayerName = "") : CMsgBoxDisplayer(displayerName) { } + +protected: + /// Put the string into the file. + virtual void doDisplay( const CLog::TDisplayInfo& args, const char *message ) + { + DWORD ec = 0; + HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, 0, GetCurrentProcessId()); + GetExitCodeProcess(h, &ec); + TerminateProcess(h, ec); + } +}; + +Value* force_quit_on_msg_displayer_cf(Value** arg_list, int count) +{ + nlwarning("Enable force quit on NeL report msg displayer"); + // disable the Windows popup telling that the application aborted and disable the dr watson report. + _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); + putenv("NEL_IGNORE_ASSERT=1"); + if (NLMISC::DefaultMsgBoxDisplayer || INelContext::getInstance().getDefaultMsgBoxDisplayer()) + { + if (!NLMISC::DefaultMsgBoxDisplayer) + NLMISC::DefaultMsgBoxDisplayer = INelContext::getInstance().getDefaultMsgBoxDisplayer(); + nldebug("Disable NeL report msg displayer"); + INelContext::getInstance().getAssertLog()->removeDisplayer(NLMISC::DefaultMsgBoxDisplayer); + INelContext::getInstance().getErrorLog()->removeDisplayer(NLMISC::DefaultMsgBoxDisplayer); + // TODO: Delete original NLMISC::DefaultMsgBoxDisplayer? + } + NLMISC::DefaultMsgBoxDisplayer = new CSuicideMsgBoxDisplayer("FORCEQUIT_MDB"); + INelContext::getInstance().setDefaultMsgBoxDisplayer(NLMISC::DefaultMsgBoxDisplayer); + INelContext::getInstance().getAssertLog()->addDisplayer(NLMISC::DefaultMsgBoxDisplayer); + INelContext::getInstance().getErrorLog()->addDisplayer(NLMISC::DefaultMsgBoxDisplayer); + return &true_value; +} + +Value* force_quit_right_now_cf(Value** arg_list, int count) +{ + // because quitMAX can fail + nlwarning("Force quit"); + DWORD ec = 0; + HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, 0, GetCurrentProcessId()); + GetExitCodeProcess(h, &ec); + TerminateProcess(h, ec); + return &true_value; +} + /*===========================================================================*\ | MAXScript Plugin Initialization \*===========================================================================*/ diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp index aad5ee1b9..48f24a61b 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_mesh.cpp @@ -131,7 +131,7 @@ static void copyMultiLodMeshBaseLod0Infos(CMeshBase::CMeshBaseBuild &dst, const // *************************************************************************** // Export a mesh -NLMISC::CSmartPtr CExportNel::buildShape (INode& node, TimeValue time, const TInodePtrInt *nodeMap, bool buildLods) +NL3D::IShape *CExportNel::buildShape (INode& node, TimeValue time, const TInodePtrInt *nodeMap, bool buildLods) { // Is this a multi lod object ? @@ -139,7 +139,7 @@ NLMISC::CSmartPtr CExportNel::buildShape (INode& node, TimeValue t // Here, we must check what kind of node we can build with this mesh. // For the time, just Triobj is supported. - CSmartPtr retShape = NULL; + NL3D::IShape *retShape = NULL; // If skinning, disable skin modifier if (nodeMap) @@ -206,7 +206,7 @@ NLMISC::CSmartPtr CExportNel::buildShape (INode& node, TimeValue t else { // Mesh base ? - CSmartPtr meshBase = NULL; + CMeshBase *meshBase = NULL; // Get the node matrix Matrix3 nodeMatrixMax; @@ -317,8 +317,7 @@ NLMISC::CSmartPtr CExportNel::buildShape (INode& node, TimeValue t // Make a CMeshMultiLod mesh object - CMeshMultiLod *multiMesh = new CMeshMultiLod; - ++multiMesh->crefs; // hack + CMeshMultiLod *multiMesh = new CMeshMultiLod; // FIXME: there is a delete bug with CMeshMultiLod exported from max!!! // Build it multiMesh->build(multiLodBuild); @@ -461,7 +460,7 @@ NLMISC::CSmartPtr CExportNel::buildShape (INode& node, TimeValue t enableSkinModifier (node, true); // Set the dist max for this shape - if (retShape.getPtr() && !multiLodObject && buildLods) + if (retShape && !multiLodObject && buildLods) { // Get the dist max for this node float distmax = getScriptAppData (&node, NEL3D_APPDATA_LOD_DIST_MAX, NEL3D_APPDATA_LOD_DIST_MAX_DEFAULT); diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h index d413e1109..81fbac682 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_nel.h @@ -292,7 +292,7 @@ public: * * skeletonShape must be NULL if no bones. */ - NLMISC::CSmartPtr buildShape (INode& node, TimeValue time, const TInodePtrInt *nodeMap, + NL3D::IShape* buildShape (INode& node, TimeValue time, const TInodePtrInt *nodeMap, bool buildLods); /** From eb45c9e6948f917db055a01c62ca149d94beca68 Mon Sep 17 00:00:00 2001 From: vl Date: Tue, 21 Sep 2010 08:53:28 +0200 Subject: [PATCH 23/28] Fixed: make it compile on mac --- code/nel/include/nel/misc/common.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/nel/include/nel/misc/common.h b/code/nel/include/nel/misc/common.h index 6363fc25d..04553c2ab 100644 --- a/code/nel/include/nel/misc/common.h +++ b/code/nel/include/nel/misc/common.h @@ -34,7 +34,6 @@ # include # include #else -# include # include # include #endif @@ -206,7 +205,11 @@ inline double isValidDouble (double v) #ifdef NL_OS_WINDOWS return _finite(v) && !_isnan(v); #else +#ifdef _STLPORT_VERSION return !isnan(v) && !isinf(v); +#else + return !std::isnan(v) && !std::isinf(v); +#endif #endif } From 8046962fa2f779b11b4abbc670140b359b5b3261 Mon Sep 17 00:00:00 2001 From: vl Date: Tue, 21 Sep 2010 08:54:18 +0200 Subject: [PATCH 24/28] Added: setrlimit to define how many open file we can have in the same time --- code/ryzom/client/src/client.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/code/ryzom/client/src/client.cpp b/code/ryzom/client/src/client.cpp index 54549bb51..7967c24db 100644 --- a/code/ryzom/client/src/client.cpp +++ b/code/ryzom/client/src/client.cpp @@ -25,11 +25,16 @@ // Misc. #include "nel/misc/types_nl.h" -#if defined(NL_OS_WINDOWS) +#ifdef NL_OS_WINDOWS #include #include #endif +#ifdef NL_OS_MAC +#include +#include +#endif + #include "nel/misc/debug.h" #include "nel/misc/command.h" #include "nel/net/tcp_sock.h" @@ -364,6 +369,20 @@ int main(int argc, char **argv) // temporary buffer to store Ryzom full path char filename[1024]; +#ifdef NL_OS_MAC + struct rlimit rlp, rlp2, rlp3; + + getrlimit(RLIMIT_NOFILE, &rlp); + + rlp2.rlim_cur = 1024; + rlp2.rlim_max = rlp.rlim_max; + setrlimit(RLIMIT_NOFILE, &rlp2); + + getrlimit(RLIMIT_NOFILE, &rlp3); + nlinfo("rlimit before %d %d\n", rlp.rlim_cur, rlp.rlim_max); + nlinfo("rlimit after %d %d\n", rlp3.rlim_cur, rlp3.rlim_max); +#endif + #if defined(NL_OS_WINDOWS) /* Windows bug: When the Window IconeMode is in "ThumbNails" mode, the current path is set to From bc8339857d3074d1ba89bdd2fbf0bc07960d983b Mon Sep 17 00:00:00 2001 From: vl Date: Tue, 21 Sep 2010 08:54:42 +0200 Subject: [PATCH 25/28] Added: warning when we cannot open a big file --- code/nel/src/misc/big_file.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/nel/src/misc/big_file.cpp b/code/nel/src/misc/big_file.cpp index bcaae8e9d..1521efb5f 100644 --- a/code/nel/src/misc/big_file.cpp +++ b/code/nel/src/misc/big_file.cpp @@ -402,6 +402,8 @@ FILE* CBigFile::getFile (const std::string &sFileName, uint32 &rFileSize, if(handle.File== NULL) { handle.File = fopen (bnp->BigFileName.c_str(), "rb"); + if (handle.File == NULL) + nlwarning ("bnp: can't fopen big file '%s' error %d '%s'", bnp->BigFileName.c_str(), errno, strerror(errno)); if (handle.File == NULL) return NULL; } From 09d80bfb6e59ebb39babc2e1d9ed3d514ec9722b Mon Sep 17 00:00:00 2001 From: vl Date: Tue, 21 Sep 2010 08:55:31 +0200 Subject: [PATCH 26/28] Added: define the toString() for size_t --- code/nel/include/nel/misc/string_common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/include/nel/misc/string_common.h b/code/nel/include/nel/misc/string_common.h index f9d83910c..4eca5d13d 100644 --- a/code/nel/include/nel/misc/string_common.h +++ b/code/nel/include/nel/misc/string_common.h @@ -204,8 +204,8 @@ inline std::string toString(const long unsigned int &val) #if (SIZEOF_SIZE_T) == 8 inline std::string toString(const size_t &val) { return toString("%"NL_I64"u", val); } -//#else -//inline std::string toString(const size_t &val) { return toString("%u", val); } +#else +inline std::string toString(const size_t &val) { return toString("%u", val); } #endif inline std::string toString(const float &val) { return toString("%f", val); } inline std::string toString(const double &val) { return toString("%lf", val); } From e9492506b14cce219fd6c63120e2f773e643aab9 Mon Sep 17 00:00:00 2001 From: vl Date: Tue, 21 Sep 2010 09:25:53 +0200 Subject: [PATCH 27/28] Fixed: compile on linux --- code/nel/include/nel/misc/string_common.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/nel/include/nel/misc/string_common.h b/code/nel/include/nel/misc/string_common.h index 4eca5d13d..1d6cf0fa2 100644 --- a/code/nel/include/nel/misc/string_common.h +++ b/code/nel/include/nel/misc/string_common.h @@ -205,8 +205,10 @@ inline std::string toString(const long unsigned int &val) #if (SIZEOF_SIZE_T) == 8 inline std::string toString(const size_t &val) { return toString("%"NL_I64"u", val); } #else +#ifdef NL_OS_MAC inline std::string toString(const size_t &val) { return toString("%u", val); } #endif +#endif inline std::string toString(const float &val) { return toString("%f", val); } inline std::string toString(const double &val) { return toString("%lf", val); } inline std::string toString(const bool &val) { return toString("%u", val?1:0); } From 2cdf9e71f60d575a588af7cf56eab84b1577b53d Mon Sep 17 00:00:00 2001 From: vl Date: Tue, 21 Sep 2010 12:18:24 +0200 Subject: [PATCH 28/28] Fixed: a bug with interface due to the static keyword --- code/ryzom/client/src/interface_v3/view_renderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/interface_v3/view_renderer.cpp b/code/ryzom/client/src/interface_v3/view_renderer.cpp index 2eb00c5fa..490c63399 100644 --- a/code/ryzom/client/src/interface_v3/view_renderer.cpp +++ b/code/ryzom/client/src/interface_v3/view_renderer.cpp @@ -1029,7 +1029,7 @@ sint32 CViewRenderer::getTextureIdFromName (const string &sName) const return -1; // convert to lowCase - static string nameLwr = toLower(sName); + string nameLwr = toLower(sName); string::size_type stripPng = nameLwr.find(".png"); if (stripPng != string::npos) {