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 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) diff --git a/code/nel/include/nel/misc/common.h b/code/nel/include/nel/misc/common.h index 124f6bdab..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 @@ -205,9 +204,13 @@ 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 } 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 ); diff --git a/code/nel/include/nel/misc/string_common.h b/code/nel/include/nel/misc/string_common.h index 3597ac10e..1d6cf0fa2 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,10 +198,16 @@ 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 -//inline std::string toString(const size_t &val) { return toString("%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); } diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index a460f68dc..f2e1c0e6f 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,45 @@ 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 __SIZEOF_LONG__ == 8 +# define NL_I64 "l" +#else +# define NL_I64 "ll" +#endif // __SIZEOF_LONG__ == 8 -#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 +337,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 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/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); 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/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..1710e5b6b 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) @@ -41,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/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; } 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/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/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 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 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()); } } 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); /** 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/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}) 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/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) 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 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..490c63399 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); + 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/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/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 - + @@ -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 @@ - + 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}) 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) 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/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 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/tools/server/ai_build_wmap/main.cpp b/code/ryzom/tools/server/ai_build_wmap/main.cpp index b3abf7b11..14c011e56 100644 --- a/code/ryzom/tools/server/ai_build_wmap/main.cpp +++ b/code/ryzom/tools/server/ai_build_wmap/main.cpp @@ -17,6 +17,7 @@ #include "nel/misc/types_nl.h" +#include "nel/misc/common.h" #include "nel/misc/debug.h" #include "nel/misc/command.h" #include "nel/misc/config_file.h" @@ -33,6 +34,8 @@ extern vector LookupNoRecursePath; sint main(sint argc, char **argv) { + createDebug(); + CConfigFile cf; CConfigFile::CVar *var; 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.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..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 @@ -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) 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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)