diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 7a4f0b4c5..05286fb4c 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -2,7 +2,7 @@ # # Ryzom Core # Authors: Nevrax and the Ryzom Core Community -# Version: 0.11.3 +# Version: 0.12.0 # # Notes: # * Changing install location: add -DCMAKE_INSTALL_PREFIX:PATH=/my/new/path @@ -47,8 +47,8 @@ CHECK_OUT_OF_SOURCE() CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(RyzomCore CXX C) SET(NL_VERSION_MAJOR 0) -SET(NL_VERSION_MINOR 11) -SET(NL_VERSION_PATCH 3) +SET(NL_VERSION_MINOR 12) +SET(NL_VERSION_PATCH 0) SET(NL_VERSION "${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}.${NL_VERSION_PATCH}") #----------------------------------------------------------------------------- @@ -112,16 +112,20 @@ IF(WITH_STATIC_LIBXML2) SET(LIBXML2_DEFINITIONS ${LIBXML2_DEFINITIONS} -DLIBXML_STATIC) ENDIF(WITH_STATIC_LIBXML2) +IF(WITH_LIBXML2_ICONV) + FIND_PACKAGE(Iconv REQUIRED) + INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR}) + SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES}) +ENDIF(WITH_LIBXML2_ICONV) + IF(WITH_STATIC) # libxml2 could need winsock2 library SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${WINSOCK2_LIB}) # on Mac OS X libxml2 requires iconv and liblzma IF(APPLE) - FIND_PACKAGE(Iconv REQUIRED) FIND_PACKAGE(LibLZMA REQUIRED) - SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES} ${LIBLZMA_LIBRARIES}) - INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR}) + SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBLZMA_LIBRARIES}) ENDIF(APPLE) ENDIF(WITH_STATIC) @@ -152,9 +156,11 @@ IF(WITH_NEL) FIND_PACKAGE(Luabind REQUIRED) FIND_PACKAGE(CURL REQUIRED) - IF(WIN32 OR CURL_LIBRARIES MATCHES "\\.a") + IF((WIN32 OR CURL_LIBRARIES MATCHES "\\.a") AND WITH_STATIC_CURL) SET(CURL_STATIC ON) - ENDIF(WIN32 OR CURL_LIBRARIES MATCHES "\\.a") + ELSE((WIN32 OR CURL_LIBRARIES MATCHES "\\.a") AND WITH_STATIC_CURL) + SET(CURL_STATIC OFF) + ENDIF((WIN32 OR CURL_LIBRARIES MATCHES "\\.a") AND WITH_STATIC_CURL) IF(CURL_STATIC) SET(CURL_DEFINITIONS -DCURL_STATICLIB) diff --git a/code/CMakeModules/FindIconv.cmake b/code/CMakeModules/FindIconv.cmake index 5e9e48250..092b35702 100644 --- a/code/CMakeModules/FindIconv.cmake +++ b/code/CMakeModules/FindIconv.cmake @@ -1,4 +1,4 @@ -# - Try to find Iconv on Mac OS X +# - Try to find Iconv # Once done this will define # # ICONV_FOUND - system has Iconv @@ -6,78 +6,59 @@ # ICONV_LIBRARIES - Link these to use Iconv # ICONV_SECOND_ARGUMENT_IS_CONST - the second argument for iconv() is const # +include(CheckCCompilerFlag) +include(CheckCSourceCompiles) -IF(APPLE) - include(CheckCCompilerFlag) - include(CheckCSourceCompiles) - - IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) - # Already in cache, be silent - SET(ICONV_FIND_QUIETLY TRUE) - ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) - - IF(APPLE) - FIND_PATH(ICONV_INCLUDE_DIR iconv.h - PATHS - /opt/local/include/ - NO_CMAKE_SYSTEM_PATH - ) - - FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv c - PATHS - /opt/local/lib/ - NO_CMAKE_SYSTEM_PATH - ) - ENDIF(APPLE) - - FIND_PATH(ICONV_INCLUDE_DIR iconv.h PATHS /opt/local/include /sw/include) - - string(REGEX REPLACE "(.*)/include/?" "\\1" ICONV_INCLUDE_BASE_DIR "${ICONV_INCLUDE_DIR}") - - FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv c HINTS "${ICONV_INCLUDE_BASE_DIR}/lib" PATHS /opt/local/lib) - - IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) - SET(ICONV_FOUND TRUE) - ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) - - set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) - set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) - IF(ICONV_FOUND) - check_c_compiler_flag("-Werror" ICONV_HAVE_WERROR) - set (CMAKE_C_FLAGS_BACKUP "${CMAKE_C_FLAGS}") - if(ICONV_HAVE_WERROR) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") - endif(ICONV_HAVE_WERROR) - check_c_source_compiles(" - #include - int main(){ - iconv_t conv = 0; - const char* in = 0; - size_t ilen = 0; - char* out = 0; - size_t olen = 0; - iconv(conv, &in, &ilen, &out, &olen); - return 0; - } - " ICONV_SECOND_ARGUMENT_IS_CONST ) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BACKUP}") - ENDIF(ICONV_FOUND) - set(CMAKE_REQUIRED_INCLUDES) - set(CMAKE_REQUIRED_LIBRARIES) - - IF(ICONV_FOUND) - IF(NOT ICONV_FIND_QUIETLY) - MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}") - ENDIF(NOT ICONV_FIND_QUIETLY) - ELSE(ICONV_FOUND) - IF(Iconv_FIND_REQUIRED) - MESSAGE(FATAL_ERROR "Could not find Iconv") - ENDIF(Iconv_FIND_REQUIRED) - ENDIF(ICONV_FOUND) - - MARK_AS_ADVANCED( - ICONV_INCLUDE_DIR - ICONV_LIBRARIES - ICONV_SECOND_ARGUMENT_IS_CONST - ) -ENDIF(APPLE) +IF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + # Already in cache, be silent + SET(ICONV_FIND_QUIETLY TRUE) +ENDIF (ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + +FIND_PATH(ICONV_INCLUDE_DIR iconv.h HINTS /sw/include/ PATHS /opt/local) + +FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv c PATHS /opt/local) + +IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + SET(ICONV_FOUND TRUE) +ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES) + +set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) +set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) +IF(ICONV_FOUND) + check_c_compiler_flag("-Werror" ICONV_HAVE_WERROR) + set (CMAKE_C_FLAGS_BACKUP "${CMAKE_C_FLAGS}") + if(ICONV_HAVE_WERROR) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") + endif(ICONV_HAVE_WERROR) + check_c_source_compiles(" + #include + int main(){ + iconv_t conv = 0; + const char* in = 0; + size_t ilen = 0; + char* out = 0; + size_t olen = 0; + iconv(conv, &in, &ilen, &out, &olen); + return 0; + } +" ICONV_SECOND_ARGUMENT_IS_CONST ) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BACKUP}") +ENDIF(ICONV_FOUND) +set(CMAKE_REQUIRED_INCLUDES) +set(CMAKE_REQUIRED_LIBRARIES) + +IF(ICONV_FOUND) + IF(NOT ICONV_FIND_QUIETLY) + MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}") + ENDIF(NOT ICONV_FIND_QUIETLY) +ELSE(ICONV_FOUND) + IF(Iconv_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find Iconv") + ENDIF(Iconv_FIND_REQUIRED) +ENDIF(ICONV_FOUND) + +MARK_AS_ADVANCED( + ICONV_INCLUDE_DIR + ICONV_LIBRARIES + ICONV_SECOND_ARGUMENT_IS_CONST +) diff --git a/code/CMakeModules/FindLibOVR.cmake b/code/CMakeModules/FindLibOVR.cmake index 1403a4b2c..707949613 100644 --- a/code/CMakeModules/FindLibOVR.cmake +++ b/code/CMakeModules/FindLibOVR.cmake @@ -38,7 +38,7 @@ ELSEIF(WIN32) ENDIF(UNIX) FIND_LIBRARY(LIBOVR_LIBRARY - NAMES ovr + NAMES ovr libovr PATHS $ENV{LIBOVR_DIR}/${LIBOVR_LIBRARY_BUILD_PATH} /usr/local/lib diff --git a/code/CMakeModules/FindMSVC.cmake b/code/CMakeModules/FindMSVC.cmake index 644fc57e6..94146775d 100644 --- a/code/CMakeModules/FindMSVC.cmake +++ b/code/CMakeModules/FindMSVC.cmake @@ -62,7 +62,7 @@ IF(MSVC12) IF(NOT MSVC12_REDIST_DIR) # If you have VC++ 2013 Express, put x64/Microsoft.VC120.CRT/*.dll in ${EXTERNAL_PATH}/redist SET(MSVC12_REDIST_DIR "${EXTERNAL_PATH}/redist") - ENDIF(NOT MSVC11_REDIST_DIR) + ENDIF(NOT MSVC12_REDIST_DIR) ELSEIF(MSVC11) DETECT_VC_VERSION("11.0") SET(MSVC_TOOLSET "110") diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index 15f6d131d..70113e11b 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -255,6 +255,16 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS) ELSE(WITH_STATIC) OPTION(WITH_STATIC_LIBXML2 "With static libxml2" OFF) ENDIF(WITH_STATIC) + IF (WITH_STATIC) + OPTION(WITH_STATIC_CURL "With static curl" ON ) + ELSE(WITH_STATIC) + OPTION(WITH_STATIC_CURL "With static curl" OFF) + ENDIF(WITH_STATIC) + IF(APPLE) + OPTION(WITH_LIBXML2_ICONV "With libxml2 using iconv" ON ) + ELSE(APPLE) + OPTION(WITH_LIBXML2_ICONV "With libxml2 using iconv" OFF) + ENDIF(APPLE) OPTION(WITH_STATIC_DRIVERS "With static drivers." OFF) IF(WIN32) OPTION(WITH_EXTERNAL "With provided external." ON ) @@ -558,9 +568,15 @@ MACRO(NL_SETUP_BUILD) # Ignore default include paths ADD_PLATFORM_FLAGS("/X") - IF(MSVC11) + IF(MSVC12) ADD_PLATFORM_FLAGS("/Gy- /MP") - # /Ox is working with VC++ 2010, but custom optimizations don't exist + # /Ox is working with VC++ 2013, but custom optimizations don't exist + SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}") + # without inlining it's unusable, use custom optimizations again + SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}") + ELSEIF(MSVC11) + ADD_PLATFORM_FLAGS("/Gy- /MP") + # /Ox is working with VC++ 2012, but custom optimizations don't exist SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}") # without inlining it's unusable, use custom optimizations again SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}") @@ -582,9 +598,9 @@ MACRO(NL_SETUP_BUILD) SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}") # without inlining it's unusable, use custom optimizations again SET(DEBUG_CFLAGS "/Od /Ob1 ${DEBUG_CFLAGS}") - ELSE(MSVC11) + ELSE(MSVC12) MESSAGE(FATAL_ERROR "Can't determine compiler version ${MSVC_VERSION}") - ENDIF(MSVC11) + ENDIF(MSVC12) ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DWIN32 /D_WINDOWS /Zm1000 /wd4250") diff --git a/code/nel/CMakeLists.txt b/code/nel/CMakeLists.txt index 53bf071e3..16a8166fe 100644 --- a/code/nel/CMakeLists.txt +++ b/code/nel/CMakeLists.txt @@ -83,4 +83,3 @@ IF(WITH_NEL_TOOLS OR WITH_NEL_MAXPLUGIN) ENDIF(WITH_NEL_TOOLS) ADD_SUBDIRECTORY(tools) ENDIF(WITH_NEL_TOOLS OR WITH_NEL_MAXPLUGIN) - diff --git a/code/nel/include/nel/3d/font_generator.h b/code/nel/include/nel/3d/font_generator.h index 36dbf309a..5a07733a0 100644 --- a/code/nel/include/nel/3d/font_generator.h +++ b/code/nel/include/nel/3d/font_generator.h @@ -54,11 +54,13 @@ public: /** generate and return a bitmap * \param c the unicode char * \param size size of the generated font in ??? format + * \param embolden set embolden style (bold) + * \param oblique set oblique style (slanted, italic) * \param width width of the generated bitmap, this value is set by this function * \param height height of the generated bitmap, this value is set by this function * \param pitch pitch of the generated bitmap (+ or - the number of bytes per row), this value is set by this function */ - uint8 *getBitmap (ucchar c, uint32 size, uint32 &width, uint32 &height, uint32 &pitch, sint32 &left, sint32 &top, sint32 &advx, uint32 &glyphIndex); + uint8 *getBitmap (ucchar c, uint32 size, bool embolden, bool oblique, uint32 &width, uint32 &height, uint32 &pitch, sint32 &left, sint32 &top, sint32 &advx, uint32 &glyphIndex); /** returns the width and height of a character using a specific size and * diff --git a/code/nel/include/nel/3d/font_manager.h b/code/nel/include/nel/3d/font_manager.h index 41bb935e5..26ea02ce0 100644 --- a/code/nel/include/nel/3d/font_manager.h +++ b/code/nel/include/nel/3d/font_manager.h @@ -102,6 +102,8 @@ public: * \param fontGen font generator * \param color primitive blocks color * \param fontSize font size + * \param embolden font style bold + * \param oblique font style slanted (italic) * \param desc display descriptor (screen size, font ratio) * \param output computed string * \param keep800x600Ratio true if you want that CFontManager look at Driver window size, and resize fontSize so it keeps same size... @@ -110,6 +112,8 @@ public: CFontGenerator *fontGen, const NLMISC::CRGBA &color, uint32 fontSize, + bool embolden, + bool oblique, IDriver *driver, CComputedString& output, bool keep800x600Ratio= true); @@ -121,6 +125,8 @@ public: CFontGenerator *fontGen, const NLMISC::CRGBA &color, uint32 fontSize, + bool embolden, + bool oblique, IDriver *driver, CComputedString &output, bool keep800x600Ratio= true); @@ -132,6 +138,8 @@ public: CFontGenerator *fontGen, const NLMISC::CRGBA &color, uint32 fontSize, + bool embolden, + bool oblique, IDriver *driver, CComputedString &output, bool keep800x600Ratio= true); diff --git a/code/nel/include/nel/3d/text_context.h b/code/nel/include/nel/3d/text_context.h index 8cf7ad7f0..156ea9f79 100644 --- a/code/nel/include/nel/3d/text_context.h +++ b/code/nel/include/nel/3d/text_context.h @@ -74,6 +74,10 @@ public: void setFontSize (uint32 fontSize) { _FontSize = fontSize; } + void setEmbolden (bool b) { _Embolden = b; } + + void setOblique (bool b) { _Oblique = b; } + void setHotSpot (CComputedString::THotSpot hotSpot) { _HotSpot = hotSpot; } void setScaleX (float scaleX) { _ScaleX = scaleX; } @@ -101,6 +105,10 @@ public: uint32 getFontSize () const { return _FontSize; } + bool getEmbolden () const { return _Embolden; } + + bool getOblique () const { return _Oblique; } + CComputedString::THotSpot getHotSpot() const { return _HotSpot; } float getScaleX() const { return _ScaleX; } @@ -240,7 +248,7 @@ public: nlassert(_FontGen); // compute the string just one time - _FontManager->computeString (ucstr, _FontGen, _Color, _FontSize, _Driver, _TempString, _Keep800x600Ratio); + _FontManager->computeString (ucstr, _FontGen, _Color, _FontSize, _Embolden, _Oblique, _Driver, _TempString, _Keep800x600Ratio); // draw shaded if (_Shaded) @@ -279,7 +287,7 @@ public: // compute the string just one time char *str; NLMISC_CONVERT_VARGS (str, format, NLMISC::MaxCStringSize); - _FontManager->computeString (str, _FontGen, _Color, _FontSize, _Driver, _TempString, _Keep800x600Ratio); + _FontManager->computeString (str, _FontGen, _Color, _FontSize, _Embolden, _Oblique, _Driver, _TempString, _Keep800x600Ratio); // draw shaded if (_Shaded) @@ -334,7 +342,7 @@ public: */ void computeString (const std::string& s, CComputedString& output) { - _FontManager->computeString (s, _FontGen, _Color, _FontSize, _Driver, output, _Keep800x600Ratio); + _FontManager->computeString (s, _FontGen, _Color, _FontSize, _Embolden, _Oblique, _Driver, output, _Keep800x600Ratio); } /** @@ -345,12 +353,12 @@ public: */ void computeString (const ucstring& s, CComputedString& output) { - _FontManager->computeString (s, _FontGen, _Color, _FontSize, _Driver, output, _Keep800x600Ratio); + _FontManager->computeString (s, _FontGen, _Color, _FontSize, _Embolden, _Oblique, _Driver, output, _Keep800x600Ratio); } void computeStringInfo (const ucstring& s, CComputedString& output) { - _FontManager->computeStringInfo (s, _FontGen, _Color, _FontSize, _Driver, output, _Keep800x600Ratio); + _FontManager->computeStringInfo (s, _FontGen, _Color, _FontSize, _Embolden, _Oblique, _Driver, output, _Keep800x600Ratio); } /// Debug : write to the disk the texture cache @@ -381,6 +389,10 @@ private: /// Font size; uint32 _FontSize; + bool _Embolden; + + bool _Oblique; + /// Current text color NLMISC::CRGBA _Color; diff --git a/code/nel/include/nel/3d/text_context_user.h b/code/nel/include/nel/3d/text_context_user.h index 8e14dc878..b05238dbf 100644 --- a/code/nel/include/nel/3d/text_context_user.h +++ b/code/nel/include/nel/3d/text_context_user.h @@ -66,6 +66,10 @@ public: void setColor(NLMISC::CRGBA color); void setFontSize(uint32 fontSize); uint32 getFontSize() const; + void setEmbolden(bool b); + bool getEmbolden() const; + void setOblique(bool b); + bool getOblique() const; void setHotSpot(THotSpot hotSpot); THotSpot getHotSpot() const; void setScaleX(float scaleX); diff --git a/code/nel/include/nel/3d/texture_font.h b/code/nel/include/nel/3d/texture_font.h index 98e94c82f..3aeb77b65 100644 --- a/code/nel/include/nel/3d/texture_font.h +++ b/code/nel/include/nel/3d/texture_font.h @@ -43,6 +43,8 @@ public: ucchar Char; CFontGenerator *FontGenerator; sint Size; + bool Embolden; + bool Oblique; // The less recently used infos @@ -66,6 +68,8 @@ public: ucchar Char; CFontGenerator *FontGenerator; sint Size; + bool Embolden; + bool Oblique; uint32 getVal(); //bool operator < (const SLetterKey&k) const; diff --git a/code/nel/include/nel/3d/u_text_context.h b/code/nel/include/nel/3d/u_text_context.h index 1056d3839..0aa9ea2f9 100644 --- a/code/nel/include/nel/3d/u_text_context.h +++ b/code/nel/include/nel/3d/u_text_context.h @@ -137,6 +137,24 @@ public: * \return the font size */ virtual uint32 getFontSize () const = 0; + /** + * set embolden (bold) state + * \param embolden the embbolden state + */ + virtual void setEmbolden (bool b) = 0; + /** + * \return the embolden state + */ + virtual bool getEmbolden () const = 0; + /** + * set oblique (italic) state + * \param oblique the oblique state + */ + virtual void setOblique (bool b) = 0; + /** + * \return the oblique state + */ + virtual bool getOblique () const = 0; /** * set the hot spot * \param fonSize the font size diff --git a/code/nel/include/nel/gui/dbgroup_combo_box.h b/code/nel/include/nel/gui/dbgroup_combo_box.h index 75208b1e3..e7be1de4b 100644 --- a/code/nel/include/nel/gui/dbgroup_combo_box.h +++ b/code/nel/include/nel/gui/dbgroup_combo_box.h @@ -60,7 +60,7 @@ namespace NLGUI void setText(uint i, const ucstring &text); void insertText(uint i, const ucstring &text); const ucstring &getText(uint i) const; - const uint &getTextId(uint i) const; + uint getTextId(uint i) const; uint getTextPos(uint nId) const; const ucstring &getTexture(uint i) const; void removeText(uint nPos); diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 333800760..920c58948 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -17,7 +17,6 @@ #ifndef CL_GROUP_HTML_H #define CL_GROUP_HTML_H -#define CURL_STATICLIB 1 #include #include "nel/misc/types_nl.h" @@ -426,6 +425,38 @@ namespace NLGUI return _FontSize.back(); } + std::vector _FontWeight; + inline uint getFontWeight() const + { + if (_FontWeight.empty()) + return 400; + return _FontWeight.back(); + } + + std::vector _FontOblique; + inline uint getFontOblique() const + { + if (_FontOblique.empty()) + return false; + return _FontOblique.back(); + } + + std::vector _FontUnderlined; + inline uint getFontUnderlined() const + { + if (_FontUnderlined.empty()) + return false; + return _FontUnderlined.back(); + } + + std::vector _FontStrikeThrough; + inline uint getFontStrikeThrough() const + { + if (_FontStrikeThrough.empty()) + return false; + return _FontStrikeThrough.back(); + } + // Current link std::vector _Link; inline const char *getLink() const @@ -545,6 +576,26 @@ namespace NLGUI }; std::vector _CellParams; + class CStyleParams + { + public: + CStyleParams () : TextColor(255,255,255,255) + { + FontSize=10; + FontWeight=400; + FontOblique=false; + Underlined=false; + StrikeThrough=false; + } + uint FontSize; + uint FontWeight; + bool FontOblique; + NLMISC::CRGBA TextColor; + bool Underlined; + bool StrikeThrough; + + }; + // Indentation uint _Indent; @@ -614,8 +665,10 @@ namespace NLGUI typedef std::map > TGroupHtmlByUIDMap; static TGroupHtmlByUIDMap _GroupHtmlByUID; - private: + // read style attribute + void getStyleParams(const std::string &styleString, CStyleParams &style, bool inherit = true); + private: // decode all HTML entities static ucstring decodeHTMLEntities(const ucstring &str); diff --git a/code/nel/include/nel/gui/libwww.h b/code/nel/include/nel/gui/libwww.h index bb6b2da86..b1f070ddd 100644 --- a/code/nel/include/nel/gui/libwww.h +++ b/code/nel/include/nel/gui/libwww.h @@ -218,6 +218,13 @@ namespace NLGUI HTML_ATTR(DIV,STYLE), }; + enum + { + HTML_ATTR(SPAN,CLASS) = 0, + HTML_ATTR(SPAN,ID), + HTML_ATTR(SPAN,STYLE), + }; + #undef HTML_ATTR diff --git a/code/nel/include/nel/gui/lua_object.h b/code/nel/include/nel/gui/lua_object.h index 1564df080..2360f1609 100644 --- a/code/nel/include/nel/gui/lua_object.h +++ b/code/nel/include/nel/gui/lua_object.h @@ -285,8 +285,7 @@ namespace NLGUI class CLuaHashMapTraits { public: - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; CLuaHashMapTraits() {} diff --git a/code/nel/include/nel/gui/view_text.h b/code/nel/include/nel/gui/view_text.h index d4377f38e..35069a9ea 100644 --- a/code/nel/include/nel/gui/view_text.h +++ b/code/nel/include/nel/gui/view_text.h @@ -81,6 +81,8 @@ namespace NLGUI void setText (const ucstring &text); void setFontSize (sint nFontSize); + void setEmbolden (bool nEmbolden); + void setOblique (bool nOblique); void setColor (const NLMISC::CRGBA &color); void setShadow (bool bShadow); void setShadowOutline (bool bShadowOutline); @@ -101,6 +103,8 @@ namespace NLGUI ucstring getText() const { return _Text; } sint getFontSize() const; + bool getEmbolden() { return _Embolden; } + bool getOblique() { return _Oblique; } NLMISC::CRGBA getColor() { return _Color; } bool getShadow() { return _Shadow; } bool getShadowOutline() { return _ShadowOutline; } @@ -125,6 +129,8 @@ namespace NLGUI uint getLastLineW () const; void setUnderlined (bool underlined) { _Underlined = underlined; } bool getUnderlined () const { return _Underlined; } + void setStrikeThrough (bool linethrough) { _StrikeThrough = linethrough; } + bool getStrikeThrough () const { return _StrikeThrough; } // true if the viewText is a single line clamped. bool isSingleLineTextClamped() const {return _SingleLineTextClamped;} @@ -220,6 +226,8 @@ namespace NLGUI NL3D::UTextContext::CStringInfo _Info; /// the font size sint _FontSize; + bool _Embolden; + bool _Oblique; // width of the font in pixel. Just a Hint for tabing format (computed with '_') uint _FontWidth; // height of the font in pixel. @@ -374,6 +382,7 @@ namespace NLGUI bool _TextSelection : 1; bool _InvalidTextContext : 1; bool _Underlined : 1; + bool _StrikeThrough : 1; bool _ContinuousUpdate : 1; bool _Setuped : 1; diff --git a/code/nel/include/nel/misc/app_context.h b/code/nel/include/nel/misc/app_context.h index 46d2a15c7..df9165baf 100644 --- a/code/nel/include/nel/misc/app_context.h +++ b/code/nel/include/nel/misc/app_context.h @@ -88,6 +88,8 @@ namespace NLMISC virtual void setNoAssert(bool noAssert) =0; virtual bool getAlreadyCreateSharedAmongThreads() =0; virtual void setAlreadyCreateSharedAmongThreads(bool b) =0; + virtual bool isWindowedApplication() = 0; + virtual void setWindowedApplication(bool b = true) = 0; //@} protected: /// Called by derived class to finalize initialisation of context @@ -131,6 +133,8 @@ namespace NLMISC virtual void setNoAssert(bool noAssert); virtual bool getAlreadyCreateSharedAmongThreads(); virtual void setAlreadyCreateSharedAmongThreads(bool b); + virtual bool isWindowedApplication(); + virtual void setWindowedApplication(bool b); private: /// Singleton registry @@ -147,6 +151,7 @@ namespace NLMISC bool DebugNeedAssert; bool NoAssert; bool AlreadyCreateSharedAmongThreads; + bool WindowedApplication; }; /** This class implements the context interface for the a library module. @@ -183,6 +188,8 @@ namespace NLMISC virtual void setNoAssert(bool noAssert); virtual bool getAlreadyCreateSharedAmongThreads(); virtual void setAlreadyCreateSharedAmongThreads(bool b); + virtual bool isWindowedApplication(); + virtual void setWindowedApplication(bool b); private: /// Pointer to the application context. diff --git a/code/nel/include/nel/misc/class_id.h b/code/nel/include/nel/misc/class_id.h index 0628e8030..d02fc5646 100644 --- a/code/nel/include/nel/misc/class_id.h +++ b/code/nel/include/nel/misc/class_id.h @@ -61,8 +61,7 @@ public: class CClassIdHashMapTraits { public: - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; inline size_t operator() ( const CClassId& classId ) const { return ((((uint64)classId >> 32)|0xFFFFFFFF) ^ (((uint64)classId|0xFFFFFFFF) & 0xFFFFFFFF)); diff --git a/code/nel/include/nel/misc/common.h b/code/nel/include/nel/misc/common.h index 26458a540..c2a40cc0f 100644 --- a/code/nel/include/nel/misc/common.h +++ b/code/nel/include/nel/misc/common.h @@ -347,7 +347,7 @@ std::string formatThousands(const std::string& s); /// This function executes a program in the background and returns instantly (used for example to launch services in AES). /// The program will be launched in the current directory -bool launchProgram (const std::string &programName, const std::string &arguments); +bool launchProgram (const std::string &programName, const std::string &arguments, bool log = true); /// This function kills a program using his pid (on unix, it uses the kill() POSIX function) bool killProgram(uint32 pid); diff --git a/code/nel/include/nel/misc/debug.h b/code/nel/include/nel/misc/debug.h index 690d340a3..8d2483e4e 100644 --- a/code/nel/include/nel/misc/debug.h +++ b/code/nel/include/nel/misc/debug.h @@ -350,8 +350,10 @@ void setCrashAlreadyReported(bool state); */ // removed because we always check assert (even in release mode) #if defined (NL_OS_WINDOWS) && defined (NL_DEBUG) -#if defined (NL_OS_WINDOWS) -#define NLMISC_BREAKPOINT __debugbreak(); +#if defined(NL_OS_WINDOWS) +#define NLMISC_BREAKPOINT __debugbreak() +#elif defined(NL_OS_UNIX) && defined(NL_COMP_GCC) +#define NLMISC_BREAKPOINT __builtin_trap() #else #define NLMISC_BREAKPOINT abort() #endif diff --git a/code/nel/include/nel/misc/dummy_window.h b/code/nel/include/nel/misc/dummy_window.h index bd205f0a0..81ef078f9 100644 --- a/code/nel/include/nel/misc/dummy_window.h +++ b/code/nel/include/nel/misc/dummy_window.h @@ -22,6 +22,21 @@ #ifdef NL_OS_WINDOWS // for win32 os only +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif +#ifndef _WIN32_WINDOWS +# define _WIN32_WINDOWS 0x0410 +#endif +#ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0400 +#endif +#ifndef WINVER +# define WINVER 0x0400 +#endif +#ifndef NOMINMAX +# define NOMINMAX +#endif #include diff --git a/code/nel/include/nel/misc/entity_id.h b/code/nel/include/nel/misc/entity_id.h index 027fe28c7..8c80daaba 100644 --- a/code/nel/include/nel/misc/entity_id.h +++ b/code/nel/include/nel/misc/entity_id.h @@ -575,13 +575,16 @@ public: // Traits for hash_map using CEntityId struct CEntityIdHashMapTraits { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; CEntityIdHashMapTraits() { } size_t operator() (const NLMISC::CEntityId &id ) const { uint64 hash64 = id.getUniqueId(); - return size_t(hash64) ^ size_t( hash64 >> 32 ); +#if (HAVE_X86_64) + return (size_t)hash64; +#else + return (size_t)hash64 ^ (size_t)(hash64 >> 32); +#endif //return size_t(id.getShortId()); } bool operator() (const NLMISC::CEntityId &id1, const NLMISC::CEntityId &id2) const diff --git a/code/nel/include/nel/misc/gtk_displayer.h b/code/nel/include/nel/misc/gtk_displayer.h index 88dd3acc8..e2d35c83c 100644 --- a/code/nel/include/nel/misc/gtk_displayer.h +++ b/code/nel/include/nel/misc/gtk_displayer.h @@ -42,11 +42,7 @@ class CGtkDisplayer : public NLMISC::CWindowDisplayer { public: - CGtkDisplayer (const char *displayerName = "") : CWindowDisplayer(displayerName) - { - needSlashR = false; - createLabel ("@Clear|CLEAR"); - } + CGtkDisplayer (const char *displayerName = ""); virtual ~CGtkDisplayer (); diff --git a/code/nel/include/nel/misc/inter_window_msg_queue.h b/code/nel/include/nel/misc/inter_window_msg_queue.h index 02867f8b4..c23a52412 100644 --- a/code/nel/include/nel/misc/inter_window_msg_queue.h +++ b/code/nel/include/nel/misc/inter_window_msg_queue.h @@ -27,6 +27,21 @@ #include "nel/misc/mem_stream.h" #include "nel/misc/dummy_window.h" +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif +#ifndef _WIN32_WINDOWS +# define _WIN32_WINDOWS 0x0410 +#endif +#ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0400 +#endif +#ifndef WINVER +# define WINVER 0x0400 +#endif +#ifndef NOMINMAX +# define NOMINMAX +#endif #include namespace NLMISC diff --git a/code/nel/include/nel/misc/report.h b/code/nel/include/nel/misc/report.h index 11745b6e3..55a1c2dbf 100644 --- a/code/nel/include/nel/misc/report.h +++ b/code/nel/include/nel/misc/report.h @@ -21,25 +21,38 @@ namespace NLMISC { -/** Display a custom message box. +#if FINAL_VERSION +#define NL_REPORT_SYNCHRONOUS false +#define NL_REPORT_DEFAULT NLMISC::ReportAbort +#else +#define NL_REPORT_SYNCHRONOUS true +#define NL_REPORT_DEFAULT NLMISC::ReportBreak +#endif + +enum TReportResult +{ + // See also crash_report_widget.h EReturnValue + ReportAlwaysIgnore = 21, + ReportIgnore = 22, + ReportAbort = 23, + ReportBreak = 24 +}; + +/** Display a crash report * - * \param title set the title of the report. If empty, it'll display "NeL report". - * \param header message displayed before the edit text box. If empty, it displays the default message. - * \param body message displayed in the edit text box. This string will be sent by email. - * \param debugButton 0 for disabling it, 1 for enable with default behaviors (generate a breakpoint), 2 for enable with no behavior + * \param title set the title of the report. If empty, it'll display "NeL report" + * \param subject extended title of the report + * \param body message displayed in the edit text box. This string will be sent to the crash report tool + * \param attachment binary file to attach. This is a filename + * \param synchronous use system() and wait for the crash tool exit code, passes -dev flag; otherwise return defaultResult immediately + * \param sendReport hide 'dont send' button, or auto enable 'send report' checkbox * - * - * - * \return the button clicked or error + * \return the button clicked or defaultResult */ +TReportResult report(const std::string &title, const std::string &subject, const std::string &body, const std::string &attachment, bool synchronous, bool sendReport, TReportResult defaultResult); -enum TReportResult { ReportDebug, ReportIgnore, ReportQuit, ReportError }; - -TReportResult report (const std::string &title, const std::string &header, const std::string &subject, const std::string &body, bool enableCheckIgnore, uint debugButton, bool ignoreButton, sint quitButton, bool sendReportButton, bool &ignoreNextTime, const std::string &attachedFile = ""); - -/** call this in the main of your appli to enable email: setReportEmailFunction (sendEmail); - */ -void setReportEmailFunction (void *emailFunction); +/// Set the Url of the web service used to post crash reports to. String is copied +void setReportPostUrl(const char *postUrl); } // NLMISC diff --git a/code/nel/include/nel/misc/sheet_id.h b/code/nel/include/nel/misc/sheet_id.h index 869a61af6..b11e97188 100644 --- a/code/nel/include/nel/misc/sheet_id.h +++ b/code/nel/include/nel/misc/sheet_id.h @@ -248,8 +248,7 @@ private : class CSheetIdHashMapTraits { public: - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; inline size_t operator() ( const CSheetId& sheetId ) const { return sheetId.asInt() >> 5; diff --git a/code/nel/include/nel/misc/sstring.h b/code/nel/include/nel/misc/sstring.h index fdeebcfc8..c9ebff721 100644 --- a/code/nel/include/nel/misc/sstring.h +++ b/code/nel/include/nel/misc/sstring.h @@ -937,21 +937,21 @@ inline CSString operator+(const CSString& s0,const CSString& s1) */ inline CSString operator+(char s0,const CSString& s1) { - return CSString(s0)+s1; + return CSString(s0) + s1.c_str(); } inline CSString operator+(const char* s0,const CSString& s1) { - return CSString(s0)+s1; + return CSString(s0) + s1.c_str(); } -#ifndef NL_COMP_VC10 +#if !defined(NL_COMP_VC) || (NL_COMP_VC_VERSION <= 100) // TODO: check if it can be disabled for other compilers too inline CSString operator+(const std::string& s0,const CSString& s1) { return s0+static_cast(s1); } -#endif // NL_COMP_VC10 +#endif } // NLMISC diff --git a/code/nel/include/nel/misc/string_common.h b/code/nel/include/nel/misc/string_common.h index 4a455247d..fac53be66 100644 --- a/code/nel/include/nel/misc/string_common.h +++ b/code/nel/include/nel/misc/string_common.h @@ -20,6 +20,7 @@ #include "types_nl.h" #include +#include #include #include @@ -264,6 +265,40 @@ inline bool fromString(const std::string &str, bool &val) return true; } +inline bool fromString(const char *str, uint32 &val) { if (strstr(str, "-") != NULL) { val = 0; return false; } char *end; unsigned long v; errno = 0; v = strtoul(str, &end, 10); if (errno || v > UINT_MAX || end == str) { val = 0; return false; } else { val = (uint32)v; return true; } } +inline bool fromString(const char *str, sint32 &val) { char *end; long v; errno = 0; v = strtol(str, &end, 10); if (errno || v > INT_MAX || v < INT_MIN || end == str) { val = 0; return false; } else { val = (sint32)v; return true; } } +inline bool fromString(const char *str, uint8 &val) { char *end; long v; errno = 0; v = strtol(str, &end, 10); if (errno || v > UCHAR_MAX || v < 0 || end == str) { val = 0; return false; } else { val = (uint8)v; return true; } } +inline bool fromString(const char *str, sint8 &val) { char *end; long v; errno = 0; v = strtol(str, &end, 10); if (errno || v > SCHAR_MAX || v < SCHAR_MIN || end == str) { val = 0; return false; } else { val = (sint8)v; return true; } } +inline bool fromString(const char *str, uint16 &val) { char *end; long v; errno = 0; v = strtol(str, &end, 10); if (errno || v > USHRT_MAX || v < 0 || end == str) { val = 0; return false; } else { val = (uint16)v; return true; } } +inline bool fromString(const char *str, sint16 &val) { char *end; long v; errno = 0; v = strtol(str, &end, 10); if (errno || v > SHRT_MAX || v < SHRT_MIN || end == str) { val = 0; return false; } else { val = (sint16)v; return true; } } +inline bool fromString(const char *str, uint64 &val) { bool ret = sscanf(str, "%"NL_I64"u", &val) == 1; if (!ret) val = 0; return ret; } +inline bool fromString(const char *str, sint64 &val) { bool ret = sscanf(str, "%"NL_I64"d", &val) == 1; if (!ret) val = 0; return ret; } +inline bool fromString(const char *str, float &val) { bool ret = sscanf(str, "%f", &val) == 1; if (!ret) val = 0.0f; return ret; } +inline bool fromString(const char *str, double &val) { bool ret = sscanf(str, "%lf", &val) == 1; if (!ret) val = 0.0; return ret; } + +inline bool fromString(const char *str, bool &val) +{ + switch (str[0]) + { + case '1': + case 't': + case 'y': + case 'T': + case 'Y': + val = true; + return true; + case '0': + case 'f': + case 'n': + case 'F': + case 'N': + val = false; + return true; + } + + return false; +} + inline bool fromString(const std::string &str, std::string &val) { val = str; return true; } // stl vectors of bool use bit reference and not real bools, so define the operator for bit reference diff --git a/code/nel/include/nel/misc/string_mapper.h b/code/nel/include/nel/misc/string_mapper.h index 36a73ed4d..1f62dd123 100644 --- a/code/nel/include/nel/misc/string_mapper.h +++ b/code/nel/include/nel/misc/string_mapper.h @@ -39,8 +39,7 @@ typedef const std::string *TStringId; // Traits for hash_map using CStringId struct CStringIdHashMapTraits { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; CStringIdHashMapTraits() { } size_t operator() (const NLMISC::TStringId &stringId) const { diff --git a/code/nel/include/nel/misc/system_utils.h b/code/nel/include/nel/misc/system_utils.h index 9b3c5a971..78fd011c6 100644 --- a/code/nel/include/nel/misc/system_utils.h +++ b/code/nel/include/nel/misc/system_utils.h @@ -77,6 +77,10 @@ public: /// Get desktop current color depth without using UDriver. static uint getCurrentColorDepth(); + + /// Detect whether the current process is a windowed application. Return true if definitely yes, false if unknown + static bool detectWindowedApplication(); + }; } // NLMISC diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index f1ed871fc..3102238bd 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -53,7 +53,10 @@ # endif # ifdef _MSC_VER # define NL_COMP_VC -# if _MSC_VER >= 1700 +# if _MSC_VER >= 1800 +# define NL_COMP_VC12 +# define NL_COMP_VC_VERSION 120 +# elif _MSC_VER >= 1700 # define NL_COMP_VC11 # define NL_COMP_VC_VERSION 110 # elif _MSC_VER >= 1600 @@ -414,6 +417,12 @@ extern void operator delete[](void *p) throw(); # define CHashMap stdext::hash_map # define CHashSet stdext::hash_set # define CHashMultiMap stdext::hash_multimap +#elif defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 100) +# include +# include +# define CHashMap ::std::unordered_map +# define CHashSet ::std::unordered_set +# define CHashMultiMap ::std::unordered_multimap #elif defined(NL_COMP_GCC) // GCC4 # include # include @@ -454,7 +463,11 @@ typedef uint16 ucchar; // To define a 64bits constant; ie: UINT64_CONSTANT(0x123456781234) #ifdef NL_COMP_VC -# if (NL_COMP_VC_VERSION >= 80) +# if (NL_COMP_VC_VERSION >= 120) +# define INT64_CONSTANT(c) (c##LL) +# define SINT64_CONSTANT(c) (c##LL) +# define UINT64_CONSTANT(c) (c##ULL) +# elif (NL_COMP_VC_VERSION >= 80) # define INT64_CONSTANT(c) (c##LL) # define SINT64_CONSTANT(c) (c##LL) # define UINT64_CONSTANT(c) (c##LL) diff --git a/code/nel/include/nel/misc/ucstring.h b/code/nel/include/nel/misc/ucstring.h index e6d7544b1..2f921f9ae 100644 --- a/code/nel/include/nel/misc/ucstring.h +++ b/code/nel/include/nel/misc/ucstring.h @@ -355,8 +355,7 @@ namespace NLMISC // Traits for hash_map using CEntityId struct CUCStringHashMapTraits { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; CUCStringHashMapTraits() { } size_t operator() (const ucstring &id ) const { @@ -364,7 +363,7 @@ struct CUCStringHashMapTraits } bool operator() (const ucstring &id1, const ucstring &id2) const { - return id1.size() < id2.size(); + return id1 < id2; } }; diff --git a/code/nel/include/nel/misc/wang_hash.h b/code/nel/include/nel/misc/wang_hash.h new file mode 100644 index 000000000..b3069b92f --- /dev/null +++ b/code/nel/include/nel/misc/wang_hash.h @@ -0,0 +1,74 @@ +// Public domain hash functions + +#ifndef NLMISC_WANG_HASH_H +#define NLMISC_WANG_HASH_H + +#include "types_nl.h" + +namespace NLMISC { + +// http://burtleburtle.net/bob/hash/integer.html +inline uint32 wangHash(uint32 a) +{ + a = (a ^ 61) ^ (a >> 16); + a = a + (a << 3); + a = a ^ (a >> 4); + a = a * 0x27d4eb2d; + a = a ^ (a >> 15); + return a; +} + +// http://naml.us/blog/2012/03 +inline uint64 wangHash64(uint64 key) +{ + key = (~key) + (key << 21); // key = (key << 21) - key - 1; + key = key ^ (key >> 24); + key = (key + (key << 3)) + (key << 8); // key * 265 + key = key ^ (key >> 14); + key = (key + (key << 2)) + (key << 4); // key * 21 + key = key ^ (key >> 28); + key = key + (key << 31); + return key; +} + +// http://naml.us/blog/2012/03 Inverse 64-bit wang hash +inline uint64 wangHash64Inv(uint64 key) +{ + uint64 tmp; + + // Invert key = key + (key << 31) + tmp = key - (key << 31); + key = key - (tmp << 31); + + // Invert key = key ^ (key >> 28) + tmp = key^key >> 28; + key = key^tmp >> 28; + + // Invert key *= 21 + key *= 14933078535860113213u; + + // Invert key = key ^ (key >> 14) + tmp = key^key >> 14; + tmp = key^tmp >> 14; + tmp = key^tmp >> 14; + key = key^tmp >> 14; + + // Invert key *= 265 + key *= 15244667743933553977u; + + // Invert key = key ^ (key >> 24) + tmp = key^key >> 24; + key = key^tmp >> 24; + + // Invert key = (~key) + (key << 21) + tmp = ~key; + tmp = ~(key - (tmp << 21)); + tmp = ~(key - (tmp << 21)); + key = ~(key - (tmp << 21)); + + return key; +} + +} /* namespace NLMISC */ + +#endif // NLMISC_WANG_HASH_H diff --git a/code/nel/include/nel/misc/win_displayer.h b/code/nel/include/nel/misc/win_displayer.h index 934a6e990..f450055a9 100644 --- a/code/nel/include/nel/misc/win_displayer.h +++ b/code/nel/include/nel/misc/win_displayer.h @@ -21,8 +21,19 @@ #ifdef NL_OS_WINDOWS -#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers -#ifndef NL_COMP_MINGW +#ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +#endif +#ifndef _WIN32_WINDOWS +# define _WIN32_WINDOWS 0x0410 +#endif +#ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0400 +#endif +#ifndef WINVER +# define WINVER 0x0400 +#endif +#ifndef NOMINMAX # define NOMINMAX #endif #include @@ -46,11 +57,7 @@ class CWinDisplayer : public NLMISC::CWindowDisplayer { public: - CWinDisplayer (const char *displayerName = "") : CWindowDisplayer(displayerName), Exit(false) - { - needSlashR = true; - createLabel ("@Clear|CLEAR"); - } + CWinDisplayer(const char *displayerName = ""); virtual ~CWinDisplayer (); diff --git a/code/nel/include/nel/misc/xml_auto_ptr.h b/code/nel/include/nel/misc/xml_auto_ptr.h index eacde74da..8e0c3adb7 100644 --- a/code/nel/include/nel/misc/xml_auto_ptr.h +++ b/code/nel/include/nel/misc/xml_auto_ptr.h @@ -31,7 +31,7 @@ public: ~CXMLAutoPtr() { destroy(); } operator const char *() const { return _Value; } operator bool() const { return _Value != NULL; } - operator std::string() const { return std::string(_Value); } + inline std::string str() const { return _Value; } bool operator ! () const { return _Value == NULL; } operator const unsigned char *() const { return (const unsigned char *) _Value; } char operator * () const { nlassert(_Value); return *_Value; } diff --git a/code/nel/include/nel/sound/containers.h b/code/nel/include/nel/sound/containers.h index 63e134077..57387e91e 100644 --- a/code/nel/include/nel/sound/containers.h +++ b/code/nel/include/nel/sound/containers.h @@ -42,8 +42,7 @@ namespace NLSOUND { template struct THashPtr : public std::unary_function { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; size_t operator () (const Pointer &ptr) const { //CHashSet::hasher h; diff --git a/code/nel/include/nel/sound/context_sound.h b/code/nel/include/nel/sound/context_sound.h index 13683ac56..eeb29b433 100644 --- a/code/nel/include/nel/sound/context_sound.h +++ b/code/nel/include/nel/sound/context_sound.h @@ -71,6 +71,19 @@ struct CContextMatcher return memcmp(JokersValues, other.JokersValues, sizeof(uint32)*NbJoker) == 0; } + bool operator<(const CContextMatcher &other) const + { + if (UseRandom) + if (RandomValue != other.RandomValue) + return RandomValue < other.RandomValue; + + int cmp = memcmp(JokersValues, other.JokersValues, sizeof(uint32) * NbJoker); + if (cmp != 0) + return cmp < 0; + + return false; + } + size_t getHashValue() const { return size_t(HashValue); @@ -82,18 +95,16 @@ struct CContextMatcher struct CHash : public std::unary_function { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; size_t operator () (const CContextMatcher &patternMatcher) const { return patternMatcher.getHashValue(); } bool operator() (const CContextMatcher &patternMatcher1, const CContextMatcher &patternMatcher2) const { - return patternMatcher1.getHashValue() < patternMatcher2.getHashValue(); + return patternMatcher1 < patternMatcher2; } }; - }; diff --git a/code/nel/samples/3d/font/main.cpp b/code/nel/samples/3d/font/main.cpp index b4b5cc3c9..bd1a91a09 100644 --- a/code/nel/samples/3d/font/main.cpp +++ b/code/nel/samples/3d/font/main.cpp @@ -79,16 +79,16 @@ int main(int argc, char **argv) // 4th is the size of the font. 5th is a pointer to the video driver. // 6th is the resulting computed string. CComputedString csRotation; - fontManager.computeString ("cs Rotation", tc.getFontGenerator(), CRGBA(255,255,255), 70, CNELU::Driver, csRotation); + fontManager.computeString ("cs Rotation", tc.getFontGenerator(), CRGBA(255,255,255), 70, false, false, CNELU::Driver, csRotation); CComputedString cs3d; - fontManager.computeString ("cs 3d", tc.getFontGenerator(), CRGBA(255,127,0), 75, CNELU::Driver, cs3d); + fontManager.computeString ("cs 3d", tc.getFontGenerator(), CRGBA(255,127,0), 75, false, false, CNELU::Driver, cs3d); // generate an Unicode string. ucstring ucs("cs Unicode String"); CComputedString csUnicode; - fontManager.computeString (ucs, tc.getFontGenerator(), CRGBA(32,64,127), 75, CNELU::Driver, csUnicode); + fontManager.computeString (ucs, tc.getFontGenerator(), CRGBA(32,64,127), 75, false, false, CNELU::Driver, csUnicode); // look at event example CNELU::EventServer.addEmitter(CNELU::Driver->getEventEmitter()); diff --git a/code/nel/samples/misc/debug/main.cpp b/code/nel/samples/misc/debug/main.cpp index 6ee31754f..5850cb2b3 100644 --- a/code/nel/samples/misc/debug/main.cpp +++ b/code/nel/samples/misc/debug/main.cpp @@ -18,11 +18,16 @@ #include // contains all debug features -#include "nel/misc/debug.h" +#include +#include -using namespace NLMISC; +void repeatederror() +{ + // hit always ignore to surpress this error for the duration of the program + nlassert(false && "hit always ignore"); +} -int main (int /* argc */, char ** /* argv */) +int main(int /* argc */, char ** /* argv */) { // all debug functions have different behaviors in debug and in release mode. // in general, in debug mode, all debug functions are active, they display @@ -36,20 +41,24 @@ int main (int /* argc */, char ** /* argv */) // in release mode, this function does nothing by default. you have to add a displayer // manually, or put true in the parameter to say to the function that you want it to // add the default displayers - createDebug (); + NLMISC::createDebug(); + + // enable the crash report tool + NLMISC::INelContext::getInstance().setWindowedApplication(true); + NLMISC::setReportPostUrl("http://ryzomcore.org/crash_report/"); // display debug information, that will be skipped in release mode. - nldebug ("nldebug() %d", 1); + nldebug("nldebug() %d", 1); // display the string - nlinfo ("nlinfo() %d", 2); + nlinfo("nlinfo() %d", 2); // when something not normal, but that the program can manage, occurs, call nlwarning() - nlwarning ("nlwarning() %d", 3); + nlwarning("nlwarning() %d", 3); // nlassert() is like assert but do more powerful things. in release mode, the test is // not executed and nothing will happen. (Press F5 in Visual C++ to continue the execution) - nlassert (true == false); + nlassert(true == false); // in a switch case or when you want that the program never executes a part of code, use stop. // in release, nlstop does nothing. in debug mode, @@ -61,16 +70,20 @@ int main (int /* argc */, char ** /* argv */) // occurs. (In Visual C++ press F5 to continue) try { - nlerror ("nlerror() %d", 4); + nlerror("nlerror() %d", 4); } - catch(const EFatalError &) + catch (const NLMISC::EFatalError &) { // just continue... - nlinfo ("nlerror() generated an EFatalError exception, just ignore it"); + nlinfo("nlerror() generated an EFatalError exception, just ignore it"); } + // keep repeating the same error + for (int i = 0; i < 32; ++i) + repeatederror(); + printf("\nPress to exit\n"); - getchar (); + getchar(); return EXIT_SUCCESS; } diff --git a/code/nel/samples/net/udp/bench_service.cpp b/code/nel/samples/net/udp/bench_service.cpp index 981a0dd0a..190347d4b 100644 --- a/code/nel/samples/net/udp/bench_service.cpp +++ b/code/nel/samples/net/udp/bench_service.cpp @@ -98,8 +98,7 @@ struct CClient struct TInetAddressHash { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; inline bool operator() (const NLNET::CInetAddress &x1, const NLNET::CInetAddress &x2) const { diff --git a/code/nel/src/3d/driver/direct3d/driver_direct3d.cpp b/code/nel/src/3d/driver/direct3d/driver_direct3d.cpp index 2ce747105..8a7be80d2 100644 --- a/code/nel/src/3d/driver/direct3d/driver_direct3d.cpp +++ b/code/nel/src/3d/driver/direct3d/driver_direct3d.cpp @@ -1327,6 +1327,10 @@ const D3DFORMAT FinalPixelFormat[ITexture::UploadFormatCount][CDriverD3D::FinalP bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeable) throw(EBadDisplay) { H_AUTO_D3D(CDriver3D_setDisplay); + + if (!mode.OffScreen) + NLMISC::INelContext::getInstance().setWindowedApplication(true); + if (!_D3D) return false; #ifndef NL_NO_ASM diff --git a/code/nel/src/3d/driver/opengl/CMakeLists.txt b/code/nel/src/3d/driver/opengl/CMakeLists.txt index 9e9e05918..12e20fbb3 100644 --- a/code/nel/src/3d/driver/opengl/CMakeLists.txt +++ b/code/nel/src/3d/driver/opengl/CMakeLists.txt @@ -67,6 +67,16 @@ IF(UNIX AND NOT APPLE) ADD_DEFINITIONS(-DHAVE_XCURSOR) TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${X11_Xcursor_LIB}) ENDIF(X11_Xcursor_FOUND) + IF(X11_Xext_FOUND) + TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${X11_Xext_LIB}) + ENDIF(X11_Xext_FOUND) + # libraries needed to be linked while linking to static X11 libraries + FIND_LIBRARY(XCB_LIBRARY + NAMES xcb + HINTS ${X11_LIB_SEARCH_PATH}) + IF(XCB_LIBRARY) + TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${XCB_LIBRARY}) + ENDIF(XCB_LIBRARY) ENDIF(UNIX AND NOT APPLE) IF(WITH_PCH) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp index 5c6cecab9..943371fd9 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp @@ -603,6 +603,9 @@ bool CDriverGL::setDisplay(nlWindow wnd, const GfxMode &mode, bool show, bool re { H_AUTO_OGL(CDriverGL_setDisplay) + if (!mode.OffScreen) + NLMISC::INelContext::getInstance().setWindowedApplication(true); + _win = EmptyWindow; _CurrentMode = mode; diff --git a/code/nel/src/3d/font_generator.cpp b/code/nel/src/3d/font_generator.cpp index 0e268a0c2..3c73a0a20 100644 --- a/code/nel/src/3d/font_generator.cpp +++ b/code/nel/src/3d/font_generator.cpp @@ -31,6 +31,7 @@ using namespace std; #include #include FT_FREETYPE_H +#include FT_SYNTHESIS_H // for freetype 2.0 #ifdef FTERRORS_H @@ -171,7 +172,7 @@ void CFontGenerator::getSizes (ucchar c, uint32 size, uint32 &width, uint32 &hei height = _Face->glyph->metrics.height >> 6; } -uint8 *CFontGenerator::getBitmap (ucchar c, uint32 size, uint32 &width, uint32 &height, uint32 &pitch, sint32 &left, sint32 &top, sint32 &advx, uint32 &glyphIndex) +uint8 *CFontGenerator::getBitmap (ucchar c, uint32 size, bool embolden, bool oblique, uint32 &width, uint32 &height, uint32 &pitch, sint32 &left, sint32 &top, sint32 &advx, uint32 &glyphIndex) { FT_Error error; @@ -209,6 +210,16 @@ uint8 *CFontGenerator::getBitmap (ucchar c, uint32 size, uint32 &width, uint32 & return NULL; } + if (embolden) + { + FT_GlyphSlot_Embolden(_Face->glyph); + } + + if (oblique) + { + FT_GlyphSlot_Oblique(_Face->glyph); + } + // convert to an anti-aliased bitmap error = FT_Render_Glyph (_Face->glyph, ft_render_mode_normal); if (error) @@ -389,7 +400,7 @@ void CFontGenerator::getSizes (ucchar c, uint32 size, uint32 &width, uint32 &hei HFONT hFont = NULL; uint32 CurrentFontSize = 0; -uint8 *CFontGenerator::getBitmap (ucchar c, uint32 size, uint32 &width, uint32 &height, uint32 &pitch, sint32 &left, sint32 &top, sint32 &advx, uint32 &glyphIndex) +uint8 *CFontGenerator::getBitmap (ucchar c, uint32 size, bool embolden, bool oblique, uint32 &width, uint32 &height, uint32 &pitch, sint32 &left, sint32 &top, sint32 &advx, uint32 &glyphIndex) { /* FT_Error error; diff --git a/code/nel/src/3d/font_manager.cpp b/code/nel/src/3d/font_manager.cpp index c589e934a..45a097b3b 100644 --- a/code/nel/src/3d/font_manager.cpp +++ b/code/nel/src/3d/font_manager.cpp @@ -64,6 +64,8 @@ void CFontManager::computeString (const std::string &s, CFontGenerator *fontGen, const NLMISC::CRGBA &color, uint32 fontSize, + bool embolden, + bool oblique, IDriver *driver, CComputedString &output, bool keep800x600Ratio) @@ -71,7 +73,7 @@ void CFontManager::computeString (const std::string &s, // static to avoid reallocation static ucstring ucs; ucs= s; - computeString(ucs, fontGen, color, fontSize, driver, output, keep800x600Ratio); + computeString(ucs, fontGen, color, fontSize, embolden, oblique, driver, output, keep800x600Ratio); } @@ -80,6 +82,8 @@ void CFontManager::computeString (const ucstring &s, CFontGenerator *fontGen, const NLMISC::CRGBA &color, uint32 fontSize, + bool embolden, + bool oblique, IDriver *driver, CComputedString &output, bool keep800x600Ratio) @@ -147,6 +151,8 @@ void CFontManager::computeString (const ucstring &s, k.Char = s[i]; k.FontGenerator = fontGen; k.Size = fontSize; + k.Embolden = embolden; + k.Oblique = oblique; CTextureFont::SLetterInfo *pLI = pTexFont->getLetterInfo (k); if(pLI != NULL) { @@ -227,6 +233,8 @@ void CFontManager::computeStringInfo ( const ucstring &s, CFontGenerator *fontGen, const NLMISC::CRGBA &color, uint32 fontSize, + bool embolden, + bool oblique, IDriver *driver, CComputedString &output, bool keep800x600Ratio ) @@ -259,6 +267,8 @@ void CFontManager::computeStringInfo ( const ucstring &s, k.Char = s[i]; k.FontGenerator = fontGen; k.Size = fontSize; + k.Embolden = embolden; + k.Oblique = oblique; pLI = pTexFont->getLetterInfo (k); if(pLI != NULL) { diff --git a/code/nel/src/3d/ps_util.cpp b/code/nel/src/3d/ps_util.cpp index 84e8c096a..a09108ed5 100644 --- a/code/nel/src/3d/ps_util.cpp +++ b/code/nel/src/3d/ps_util.cpp @@ -277,6 +277,8 @@ void CPSUtil::print(IDriver *driver, const std::string &text, CFontGenerator &fg &fg, col, 16, + false, + false, driver, cptedString); diff --git a/code/nel/src/3d/text_context.cpp b/code/nel/src/3d/text_context.cpp index 456ab77a6..1cca5145a 100644 --- a/code/nel/src/3d/text_context.cpp +++ b/code/nel/src/3d/text_context.cpp @@ -31,6 +31,8 @@ CTextContext::CTextContext() _FontGen = NULL; _FontSize = 12; + _Embolden = false; + _Oblique = false; _Color = NLMISC::CRGBA(0,0,0); @@ -81,7 +83,7 @@ uint32 CTextContext::textPush (const char *format, ...) // compute the string. uint32 index = _CacheFreePlaces[_CacheNbFreePlaces-1]; CComputedString &strToFill = _CacheStrings[index]; - _FontManager->computeString (str, _FontGen, _Color, _FontSize, _Driver, strToFill, _Keep800x600Ratio); + _FontManager->computeString (str, _FontGen, _Color, _FontSize, _Embolden, _Oblique, _Driver, strToFill, _Keep800x600Ratio); _CacheNbFreePlaces--; @@ -109,7 +111,7 @@ uint32 CTextContext::textPush (const ucstring &str) nlassert (index < _CacheStrings.size()); CComputedString &strToFill = _CacheStrings[index]; _FontManager->computeString (str, _FontGen, _Color - , _FontSize, _Driver, strToFill, _Keep800x600Ratio); + , _FontSize, _Embolden, _Oblique, _Driver, strToFill, _Keep800x600Ratio); _CacheNbFreePlaces--; diff --git a/code/nel/src/3d/text_context_user.cpp b/code/nel/src/3d/text_context_user.cpp index 6ee880d91..441d463f5 100644 --- a/code/nel/src/3d/text_context_user.cpp +++ b/code/nel/src/3d/text_context_user.cpp @@ -100,6 +100,30 @@ uint32 CTextContextUser::getFontSize() const return _TextContext.getFontSize(); } +void CTextContextUser::setEmbolden(bool b) +{ + H_AUTO2; + + _TextContext.setEmbolden(b); +} +bool CTextContextUser::getEmbolden() const +{ + H_AUTO2; + + return _TextContext.getEmbolden(); +} +void CTextContextUser::setOblique(bool b) +{ + H_AUTO2; + + _TextContext.setOblique(b); +} +bool CTextContextUser::getOblique() const +{ + H_AUTO2; + + return _TextContext.getOblique(); +} void CTextContextUser::setHotSpot(THotSpot hotSpot) { H_AUTO2; diff --git a/code/nel/src/3d/texture_font.cpp b/code/nel/src/3d/texture_font.cpp index f27705494..4e9e3a0a4 100644 --- a/code/nel/src/3d/texture_font.cpp +++ b/code/nel/src/3d/texture_font.cpp @@ -47,11 +47,14 @@ const int NbLine[TEXTUREFONT_NBCATEGORY] = { 4, 6, 4, 1 }; // Based on textsize // --------------------------------------------------------------------------- inline uint32 CTextureFont::SLetterKey::getVal() { - + // this limits Size to 6bits + // Large sizes already render wrong when many + // different glyphs are used due to limited texture atlas + uint8 eb = ((uint)Embolden) + ((uint)Oblique << 1); if (FontGenerator == NULL) - return Char + ((Size&255)<<16); + return Char + ((Size&255)<<16) + (eb << 22); else - return Char + ((Size&255)<<16) + ((FontGenerator->getUID()&0xFF)<<24); + return Char + ((Size&255)<<16) + (eb << 22) + ((FontGenerator->getUID()&0xFF)<<24); } // --------------------------------------------------------------------------- @@ -86,6 +89,8 @@ CTextureFont::CTextureFont() rLetter.Char = 0xffff; rLetter.FontGenerator = NULL; rLetter.Size= 0; + rLetter.Embolden = false; + rLetter.Oblique = false; // The less recently used infos if (j < Letters[i].size()-1) @@ -164,7 +169,7 @@ void CTextureFont::rebuildLetter (sint cat, sint x, sint y) sint posy = catTopY + y * Categories[cat]; uint32 pitch = 0; - uint8 *bitmap = rLetter.FontGenerator->getBitmap ( rLetter.Char, rLetter.Size, + uint8 *bitmap = rLetter.FontGenerator->getBitmap ( rLetter.Char, rLetter.Size, rLetter.Embolden, rLetter.Oblique, rLetter.CharWidth, rLetter.CharHeight, pitch, rLetter.Left, rLetter.Top, rLetter.AdvX, rLetter.GlyphIndex ); @@ -303,7 +308,7 @@ CTextureFont::SLetterInfo* CTextureFont::getLetterInfo (SLetterKey& k) // \todo mat : Temp !!! Try to use freetype cache uint32 nPitch, nGlyphIndex; sint32 nLeft, nTop, nAdvX; - k.FontGenerator->getBitmap (k.Char, k.Size, width, height, nPitch, nLeft, nTop, + k.FontGenerator->getBitmap (k.Char, k.Size, k.Embolden, k.Oblique, width, height, nPitch, nLeft, nTop, nAdvX, nGlyphIndex ); // Add 1 pixel space for black border to get correct category @@ -323,6 +328,8 @@ CTextureFont::SLetterInfo* CTextureFont::getLetterInfo (SLetterKey& k) k2.Char = Back[cat]->Char; k2.FontGenerator = Back[cat]->FontGenerator; k2.Size = Back[cat]->Size; + k2.Embolden = Back[cat]->Embolden; + k2.Oblique = Back[cat]->Oblique; itAccel = Accel.find (k2.getVal()); if (itAccel != Accel.end()) @@ -336,6 +343,8 @@ CTextureFont::SLetterInfo* CTextureFont::getLetterInfo (SLetterKey& k) Back[cat]->Char = k.Char; Back[cat]->FontGenerator = k.FontGenerator; Back[cat]->Size = k.Size; + Back[cat]->Embolden = k.Embolden; + Back[cat]->Oblique = k.Oblique; Back[cat]->CharWidth = width; Back[cat]->CharHeight = height; Back[cat]->Top = nTop; diff --git a/code/nel/src/3d/zone_search.cpp b/code/nel/src/3d/zone_search.cpp index cbadc8c39..f850d4377 100644 --- a/code/nel/src/3d/zone_search.cpp +++ b/code/nel/src/3d/zone_search.cpp @@ -73,7 +73,7 @@ pair CZoneSearch::getZoneName(uint x, uint y, uint cx, uint cy) sprintf(name, "%d_%c%c.zonel", zoneY, firstLetter, secondLetter); - return make_pair(string(name), distance); + return std::pair(string(name), distance); } diff --git a/code/nel/src/gui/CMakeLists.txt b/code/nel/src/gui/CMakeLists.txt index e3d501e23..32125791d 100644 --- a/code/nel/src/gui/CMakeLists.txt +++ b/code/nel/src/gui/CMakeLists.txt @@ -6,7 +6,7 @@ SOURCE_GROUP("src" FILES ${SRC}) NL_TARGET_LIB(nelgui ${SRC} ${HEADERS}) -INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR} ${LUABIND_INCLUDE_DIR} ${LIBWWW_INCLUDE_DIR}) +INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR} ${LUABIND_INCLUDE_DIR} ${LIBWWW_INCLUDE_DIR} ${CURL_INCLUDE_DIRS}) TARGET_LINK_LIBRARIES(nelgui nelmisc nel3d ${LUA_LIBRARIES} ${LUABIND_LIBRARIES} ${LIBXML2_LIBRARIES} ${LIBWWW_LIBRARIES} ${CURL_LIBRARIES}) SET_TARGET_PROPERTIES(nelgui PROPERTIES LINK_INTERFACE_LIBRARIES "") diff --git a/code/nel/src/gui/ctrl_scroll.cpp b/code/nel/src/gui/ctrl_scroll.cpp index f534fc0a1..c29f73fea 100644 --- a/code/nel/src/gui/ctrl_scroll.cpp +++ b/code/nel/src/gui/ctrl_scroll.cpp @@ -519,17 +519,17 @@ namespace NLGUI // Read Action handlers prop = (char*) xmlGetProp( node, (xmlChar*)"onscroll" ); - if (prop) _AHOnScroll = NLMISC::strlwr(prop); + if (prop) _AHOnScroll = NLMISC::strlwr(prop.str()); prop = (char*) xmlGetProp( node, (xmlChar*)"params" ); if (prop) _AHOnScrollParams = string((const char*)prop); // prop = (char*) xmlGetProp( node, (xmlChar*)"onscrollend" ); - if (prop) _AHOnScrollEnd = NLMISC::strlwr(prop); + if (prop) _AHOnScrollEnd = NLMISC::strlwr(prop.str()); prop = (char*) xmlGetProp( node, (xmlChar*)"end_params" ); if (prop) _AHOnScrollEndParams = string((const char*)prop); // prop = (char*) xmlGetProp( node, (xmlChar*)"onscrollcancel" ); - if (prop) _AHOnScrollCancel = NLMISC::strlwr(prop); + if (prop) _AHOnScrollCancel = NLMISC::strlwr(prop.str()); prop = (char*) xmlGetProp( node, (xmlChar*)"cancel_params" ); if (prop) _AHOnScrollCancelParams = string((const char*)prop); @@ -538,9 +538,9 @@ namespace NLGUI prop = (char*) xmlGetProp( node, (xmlChar*)"target" ); if (prop) { - CInterfaceGroup *group = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(prop)); + CInterfaceGroup *group = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(prop.str())); if(group == NULL) - group = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(this->getId(), prop)); + group = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(this->getId(), prop.str())); if(group != NULL) setTarget (group); diff --git a/code/nel/src/gui/dbgroup_combo_box.cpp b/code/nel/src/gui/dbgroup_combo_box.cpp index 61b8ec3e6..39ddd63c1 100644 --- a/code/nel/src/gui/dbgroup_combo_box.cpp +++ b/code/nel/src/gui/dbgroup_combo_box.cpp @@ -268,7 +268,7 @@ namespace NLGUI void CDBGroupComboBox::addText(const ucstring &text) { dirt(); - _Texts.push_back(make_pair(_Texts.size(), text)); + _Texts.push_back(make_pair((uint)_Texts.size(), text)); _Textures.push_back(std::string()); } @@ -330,7 +330,7 @@ namespace NLGUI } // *************************************************************************** - const uint &CDBGroupComboBox::getTextId(uint i) const + uint CDBGroupComboBox::getTextId(uint i) const { static uint null = 0; if(i<_Texts.size()) diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 656e36ca8..4dd9ea7ac 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -485,7 +485,7 @@ namespace NLGUI string fullstyle = style[1]; for (uint j=2; j < style.size(); j++) fullstyle += ":"+style[j]; - styles[trim(style[0])] = fullstyle; + styles[trim(style[0])] = trim(fullstyle); } } @@ -894,7 +894,20 @@ namespace NLGUI switch(element_number) { case HTML_A: - _TextColor.push_back(LinkColor); + { + CStyleParams style; + style.FontSize = getFontSize(); + style.TextColor = LinkColor; + style.Underlined = true; + style.StrikeThrough = getFontStrikeThrough(); + + if (present[HTML_A_STYLE] && value[HTML_A_STYLE]) + getStyleParams(value[HTML_A_STYLE], style); + + _FontSize.push_back(style.FontSize); + _TextColor.push_back(style.TextColor); + _FontUnderlined.push_back(style.Underlined); + _FontStrikeThrough.push_back(style.StrikeThrough); _GlobalColor.push_back(LinkColorGlobalColor); _A.push_back(true); @@ -903,6 +916,7 @@ namespace NLGUI if (present[MY_HTML_A_CLASS] && value[MY_HTML_A_CLASS]) _LinkClass.push_back(value[MY_HTML_A_CLASS]); + } break; case HTML_DIV: @@ -1634,6 +1648,28 @@ namespace NLGUI _Object = true; break; + case HTML_SPAN: + { + CStyleParams style; + style.TextColor = getTextColor(); + style.FontSize = getFontSize(); + style.FontWeight = getFontWeight(); + style.FontOblique = getFontOblique(); + style.Underlined = getFontUnderlined(); + style.StrikeThrough = getFontStrikeThrough(); + + if (present[MY_HTML_SPAN_STYLE] && value[MY_HTML_SPAN_STYLE]) + getStyleParams(value[MY_HTML_SPAN_STYLE], style); + + _TextColor.push_back(style.TextColor); + _FontSize.push_back(style.FontSize); + _FontWeight.push_back(style.FontWeight); + _FontOblique.push_back(style.FontOblique); + _FontUnderlined.push_back(style.Underlined); + _FontStrikeThrough.push_back(style.StrikeThrough); + } + break; + case HTML_STYLE: _IgnoreText = true; break; @@ -1655,7 +1691,10 @@ namespace NLGUI popIfNotEmpty (_FontSize); break; case HTML_A: + popIfNotEmpty (_FontSize); popIfNotEmpty (_TextColor); + popIfNotEmpty (_FontUnderlined); + popIfNotEmpty (_FontStrikeThrough); popIfNotEmpty (_GlobalColor); popIfNotEmpty (_A); popIfNotEmpty (_Link); @@ -1763,6 +1802,14 @@ namespace NLGUI popIfNotEmpty (_UL); } break; + case HTML_SPAN: + popIfNotEmpty (_FontSize); + popIfNotEmpty (_FontWeight); + popIfNotEmpty (_FontOblique); + popIfNotEmpty (_TextColor); + popIfNotEmpty (_FontUnderlined); + popIfNotEmpty (_FontStrikeThrough); + break; case HTML_STYLE: _IgnoreText = false; break; @@ -3077,6 +3124,7 @@ namespace NLGUI // Text added ? bool added = false; + bool embolden = getFontWeight() >= 700; // Number of child in this paragraph if (_CurrentViewLink) @@ -3086,6 +3134,10 @@ namespace NLGUI if (!skipLine && (getTextColor() == _CurrentViewLink->getColor()) && (getFontSize() == (uint)_CurrentViewLink->getFontSize()) && + (getFontUnderlined() == _CurrentViewLink->getUnderlined()) && + (getFontStrikeThrough() == _CurrentViewLink->getStrikeThrough()) && + (embolden == _CurrentViewLink->getEmbolden()) && + (getFontOblique() == _CurrentViewLink->getOblique()) && (getLink() == _CurrentViewLink->Link) && (getGlobalColor() == _CurrentViewLink->getModulateGlobalColor())) { @@ -3141,12 +3193,15 @@ namespace NLGUI if (!newLink->Link.empty()) { newLink->setHTMLView (this); - newLink->setUnderlined (true); } } newLink->setText(tmpStr); newLink->setColor(getTextColor()); newLink->setFontSize(getFontSize()); + newLink->setEmbolden(embolden); + newLink->setOblique(getFontOblique()); + newLink->setUnderlined(getFontUnderlined()); + newLink->setStrikeThrough(getFontStrikeThrough()); newLink->setMultiLineSpace((uint)((float)getFontSize()*LineSpaceFontFactor)); newLink->setMultiLine(true); newLink->setModulateGlobalColor(getGlobalColor()); @@ -3422,6 +3477,10 @@ namespace NLGUI _TextColor.clear(); _GlobalColor.clear(); _FontSize.clear(); + _FontWeight.clear(); + _FontOblique.clear(); + _FontUnderlined.clear(); + _FontStrikeThrough.clear(); _Indent = 0; _LI = false; _UL.clear(); @@ -4590,5 +4649,84 @@ namespace NLGUI return result; } + + // *************************************************************************** + // CGroupHTML::CStyleParams style; + // style.FontSize; // font-size: 10px; + // style.TextColor; // color: #ABCDEF; + // style.Underlined; // text-decoration: underline; text-decoration-line: underline; + // style.StrikeThrough; // text-decoration: line-through; text-decoration-line: line-through; + void CGroupHTML::getStyleParams(const std::string &styleString, CStyleParams &style, bool inherit) + { + TStyle styles = parseStyle(styleString); + TStyle::iterator it; + for (it=styles.begin(); it != styles.end(); ++it) + { + if (it->first == "font-size") + { + float tmp; + sint size = 0; + getPercentage (size, tmp, it->second.c_str()); + if (size > 0) + style.FontSize = size; + } + else + if (it->first == "font-style") + { + if (it->second == "italic" || it->second == "oblique") + style.FontOblique = true; + } + else + if (it->first == "font-weight") + { + // https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight + uint weight = 400; + if (it->second == "normal") + weight = 400; + else + if (it->second == "bold") + weight = 700; + else + if (it->second == "lighter") + { + const uint lighter[] = {100, 100, 100, 100, 100, 400, 400, 700, 700}; + int index = getFontWeight() / 100 - 1; + clamp(index, 1, 9); + weight = lighter[index-1]; + } + else + if (it->second == "bolder") + { + const uint bolder[] = {400, 400, 400, 700, 700, 900, 900, 900, 900}; + uint index = getFontWeight() / 100 + 1; + clamp(index, 1, 9); + weight = bolder[index-1]; + } + else + if (fromString(it->second, weight)) + { + weight = (weight / 100); + clamp(weight, 1, 9); + weight *= 100; + } + style.FontWeight = weight; + } + else + if (it->first == "color") + scanHTMLColor(it->second.c_str(), style.TextColor); + else + if (it->first == "text-decoration" || it->first == "text-decoration-line") + { + std::string prop(strlwr(it->second)); + style.Underlined = (prop.find("underline") != std::string::npos); + style.StrikeThrough = (prop.find("line-through") != std::string::npos); + } + } + if (inherit) + { + style.Underlined = getFontUnderlined() || style.Underlined; + style.StrikeThrough = getFontStrikeThrough() || style.StrikeThrough; + } + } } diff --git a/code/nel/src/gui/group_menu.cpp b/code/nel/src/gui/group_menu.cpp index 08f887e9e..ddd022310 100644 --- a/code/nel/src/gui/group_menu.cpp +++ b/code/nel/src/gui/group_menu.cpp @@ -2200,7 +2200,7 @@ namespace NLGUI if( editorMode ) _Extends = std::string( (const char*)prop ); - CGroupMenu *gm = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(prop)); + CGroupMenu *gm = dynamic_cast(CWidgetManager::getInstance()->getElementFromId(prop.str())); if (!gm) { gm = dynamic_cast(CWidgetManager::getInstance()->getElementFromId("ui:interface:" + std::string((const char*)prop))); diff --git a/code/nel/src/gui/interface_anim.cpp b/code/nel/src/gui/interface_anim.cpp index 627a93280..edd96e1cf 100644 --- a/code/nel/src/gui/interface_anim.cpp +++ b/code/nel/src/gui/interface_anim.cpp @@ -55,7 +55,7 @@ namespace NLGUI if (ptr) _Dynamic = CInterfaceElement::convertBool (ptr); ptr = xmlGetProp (cur, (xmlChar*)"type"); - string sTmp = ptr; + string sTmp = ptr.str(); sTmp = strlwr(sTmp); if (sTmp == "linear") _Type = Track_Linear; @@ -74,7 +74,7 @@ namespace NLGUI } // - if (!CInterfaceLink::splitLinkTargets (ptr, parentGroup, _Targets)) + if (!CInterfaceLink::splitLinkTargets (ptr.str(), parentGroup, _Targets)) { nlwarning ("no target for track"); return false; @@ -194,7 +194,7 @@ namespace NLGUI fromString((const char*)time, fAnimTime); TAnimationTime animTime = fAnimTime * CWidgetManager::getInstance()->getSystemOption(CWidgetManager::OptionMulCoefAnim).getValFloat(); double animValue; - fromString(value, animValue); + fromString(value.str(), animValue); // Depending on the type of the track add the key switch(_Type) diff --git a/code/nel/src/gui/interface_group.cpp b/code/nel/src/gui/interface_group.cpp index 29ad75f8c..b5027a87c 100644 --- a/code/nel/src/gui/interface_group.cpp +++ b/code/nel/src/gui/interface_group.cpp @@ -312,7 +312,7 @@ namespace NLGUI ptr = (char*) xmlGetProp( cur, (xmlChar*)"max_sizeparent" ); if (ptr) { - string idparent = ptr; + string idparent = ptr.str(); idparent = NLMISC::strlwr(idparent); if (idparent != "parent") { diff --git a/code/nel/src/gui/interface_parser.cpp b/code/nel/src/gui/interface_parser.cpp index 096c001ae..1dbf62d51 100644 --- a/code/nel/src/gui/interface_parser.cpp +++ b/code/nel/src/gui/interface_parser.cpp @@ -664,7 +664,7 @@ namespace NLGUI //if it begins with a #, it is a reference in the instance attribute if (strchr(ptr, '#') != NULL) { - string LastProp = ptr; + string LastProp = ptr.str(); string NewProp =""; string RepProp; @@ -796,7 +796,7 @@ namespace NLGUI return false; } sint32 size; - fromString(cSize, size); + fromString(cSize.str(), size); if (size <= 0) { // todo hulud interface syntax error @@ -929,7 +929,7 @@ namespace NLGUI nlwarning(" Can't read the expression for a link node"); return false; } - std::string expr = ptr; + std::string expr = ptr.str(); std::vector targets; @@ -1119,13 +1119,13 @@ namespace NLGUI nlinfo ("options has no name"); return false; } - string optionsName = ptr; + string optionsName = ptr.str(); // herit if possible ptr = (char*) xmlGetProp( cur, (xmlChar*)"herit" ); if (ptr) { - string optionsParentName = ptr; + string optionsParentName = ptr.str(); CInterfaceOptions *io = wm->getOptions( optionsParentName ); if( io != NULL ) options->copyBasicMap( *io ); @@ -1771,7 +1771,7 @@ namespace NLGUI { CInterfaceExprValue res; - if (CInterfaceExpr::eval(ptrVal2, res)) + if (CInterfaceExpr::eval(ptrVal2.str(), res)) { if (!res.toString()) { @@ -1807,7 +1807,7 @@ namespace NLGUI nlwarning ("no id in a procedure"); return false; } - string procId= ptr; + string procId= ptr.str(); if (_ProcedureMap.find(procId) != _ProcedureMap.end()) { @@ -2171,7 +2171,7 @@ namespace NLGUI //get the property value ptr = (char*)xmlGetProp( cur, props->name); nlassert(ptr); - string propVal= ptr; + string propVal= ptr.str(); string newPropVal; // solve define of this prop @@ -2328,7 +2328,7 @@ namespace NLGUI nlinfo ("anim has no id"); return false; } - string animId = ptr; + string animId = ptr.str(); pAnim = new CInterfaceAnim; if (pAnim->parse (cur, parentGroup)) diff --git a/code/nel/src/gui/libwww.cpp b/code/nel/src/gui/libwww.cpp index b17d1cccb..14e921aea 100644 --- a/code/nel/src/gui/libwww.cpp +++ b/code/nel/src/gui/libwww.cpp @@ -233,6 +233,14 @@ namespace NLGUI { 0 } }; + HTAttr span_attr[] = + { + HTML_ATTR(SPAN,CLASS), + HTML_ATTR(SPAN,ID), + HTML_ATTR(SPAN,STYLE), + { 0 } + }; + // *************************************************************************** void _VerifyLibWWW(const char *function, bool ok, const char *file, int line) @@ -699,6 +707,8 @@ namespace NLGUI HTML_DTD->tags[HTML_I].number_of_attributes = 0; HTML_DTD->tags[HTML_DIV].attributes = div_attr; HTML_DTD->tags[HTML_DIV].number_of_attributes = sizeof(div_attr) / sizeof(HTAttr) - 1; + HTML_DTD->tags[HTML_SPAN].attributes = span_attr; + HTML_DTD->tags[HTML_SPAN].number_of_attributes = sizeof(span_attr) / sizeof(HTAttr) - 1; // Set a request timeout // HTHost_setEventTimeout (30000); diff --git a/code/nel/src/gui/view_text.cpp b/code/nel/src/gui/view_text.cpp index db069a29d..0e3b420a0 100644 --- a/code/nel/src/gui/view_text.cpp +++ b/code/nel/src/gui/view_text.cpp @@ -44,6 +44,7 @@ namespace NLGUI { _CaseMode = CaseNormal; _Underlined = false; + _StrikeThrough = false; _ContinuousUpdate = false; _Active = true; _X = 0; @@ -58,6 +59,8 @@ namespace NLGUI _FontSize = 12 + CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont ).getValSInt32(); + _Embolden = false; + _Oblique = false; _Color = CRGBA(255,255,255,255); _Shadow = false; _ShadowOutline = false; @@ -157,6 +160,10 @@ namespace NLGUI _PosRef = vt._PosRef; _FontSize = vt._FontSize; + _Embolden = vt._Embolden; + _Oblique = vt._Oblique; + _Underlined = vt._Underlined; + _StrikeThrough = vt._StrikeThrough; _Color = vt._Color; _Shadow = vt._Shadow; _ShadowOutline = vt._ShadowOutline; @@ -221,6 +228,21 @@ namespace NLGUI ); } else + if( name == "fontweight" ) + { + if (_Embolden) + return "bold"; + + return "normal"; + } + if( name == "fontstyle" ) + { + if (_Oblique) + return "oblique"; + + return "normal"; + } + else if( name == "shadow" ) { return toString( _Shadow ); @@ -286,6 +308,11 @@ namespace NLGUI return toString( _Underlined ); } else + if( name == "strikthrough" ) + { + return toString( _StrikeThrough ); + } + else if( name == "case_mode" ) { return toString( uint32( _CaseMode ) ); @@ -358,6 +385,20 @@ namespace NLGUI return true; } else + if( name == "fontweight" ) + { + if (value == "bold") + _Embolden = true; + + return true; + } + if( name == "fontstyle" ) + { + if( value == "oblique" ) + _Oblique = true; + return true; + } + else if( name == "shadow" ) { bool b; @@ -444,6 +485,14 @@ namespace NLGUI return true; } else + if( name == "strikethrough" ) + { + bool b; + if( fromString( value, b ) ) + _StrikeThrough = b; + return true; + } + else if( name == "case_mode" ) { uint32 i; @@ -533,6 +582,16 @@ namespace NLGUI _FontSize - CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont ).getValSInt32() ).c_str() ); + std::string fontweight("normal"); + if (_Embolden) + fontweight = "bold"; + xmlSetProp( node, BAD_CAST "fontweight", BAD_CAST fontweight.c_str() ); + + std::string fontstyle("normal"); + if (_Oblique) + fontstyle = "oblique"; + xmlSetProp( node, BAD_CAST "fontstyle", BAD_CAST fontstyle.c_str() ); + xmlSetProp( node, BAD_CAST "shadow", BAD_CAST toString( _Shadow ).c_str() ); xmlSetProp( node, BAD_CAST "shadow_outline", BAD_CAST toString( _ShadowOutline ).c_str() ); xmlSetProp( node, BAD_CAST "shadow_color", BAD_CAST toString( _ShadowColor ).c_str() ); @@ -561,6 +620,7 @@ namespace NLGUI xmlSetProp( node, BAD_CAST "multi_line_maxw_only", BAD_CAST toString( _MultiLineMaxWOnly ).c_str() ); xmlSetProp( node, BAD_CAST "multi_max_line", BAD_CAST toString( _MultiMaxLine ).c_str() ); xmlSetProp( node, BAD_CAST "underlined", BAD_CAST toString( _Underlined ).c_str() ); + xmlSetProp( node, BAD_CAST "strikethrough", BAD_CAST toString( _StrikeThrough ).c_str() ); xmlSetProp( node, BAD_CAST "case_mode", BAD_CAST toString( uint32( _CaseMode ) ).c_str() ); xmlSetProp( node, BAD_CAST "over_extend_view_text", BAD_CAST toString( _OverExtendViewText ).c_str() ); xmlSetProp( node, BAD_CAST "over_extend_parent_rect", @@ -614,6 +674,22 @@ namespace NLGUI _FontSize += CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont).getValSInt32(); } + prop = (char*) xmlGetProp( cur, (xmlChar*)"fontweight" ); + _Embolden = false; + if (prop) + { + if (nlstricmp("bold", (const char*)prop) == 0) _Embolden = true; + else nlwarning(" bad fontweight '%s'", (const char *)prop); + } + + prop = (char*) xmlGetProp( cur, (xmlChar*)"fontstyle" ); + _Oblique = false; + if (prop) + { + if (nlstricmp("oblique", (const char *) prop) == 0) _Oblique = true; + else nlwarning(" bad fontstyle '%s'", (const char *)prop); + } + prop = (char*) xmlGetProp( cur, (xmlChar*)"shadow" ); _Shadow = false; if (prop) @@ -668,6 +744,11 @@ namespace NLGUI if (prop) _Underlined = convertBool(prop); + prop = (char*) xmlGetProp( cur, (xmlChar*)"strikethrough" ); + _StrikeThrough = false; + if (prop) + _StrikeThrough = convertBool(prop); + prop = (char*) xmlGetProp( cur, (xmlChar*)"case_mode" ); _CaseMode = CaseNormal; if (prop) @@ -887,6 +968,8 @@ namespace NLGUI TextContext->setShadeOutline (_ShadowOutline); TextContext->setShadeColor (shcol); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); float y = (float)(_YReal) * ooh; // y is expressed in scree, coordinates [0..1] //y += _LinesInfos[_LinesInfos.size()-1].StringLine / h; @@ -953,7 +1036,7 @@ namespace NLGUI // skip spaces before current word float firstSpace = currWord.NumSpaces * currLine.getSpaceWidth(); sint line_width = 0; - if (_Underlined) + if (_Underlined || _StrikeThrough) { line_width = (sint)floorf(currLine.getWidthWithoutSpaces() + currLine.getSpaceWidth()); line_width -= (sint)floorf(firstSpace); @@ -971,6 +1054,9 @@ namespace NLGUI if (_Underlined) rVR.drawRotFlipBitmap (_RenderLayer, (sint)floorf(px), y_line, line_width, 1, 0, false, rVR.getBlankTextureId(), col); + if (_StrikeThrough) + rVR.drawRotFlipBitmap (_RenderLayer, (sint)floorf(px), y_line + (_FontHeight / 2), line_width, 1, 0, false, rVR.getBlankTextureId(), col); + // skip word px += currWord.Info.StringWidth; } @@ -1002,6 +1088,8 @@ namespace NLGUI TextContext->setShadeOutline (_ShadowOutline); TextContext->setShadeColor (shcol); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); if(_LetterColors!=NULL && !TextContext->isSameLetterColors(_LetterColors, _Index)) @@ -1032,6 +1120,9 @@ namespace NLGUI if (_Underlined) rVR.drawRotFlipBitmap (_RenderLayer, _XReal, _YReal+_FontLegHeight-2, _WReal, 1, 0, false, rVR.getBlankTextureId(), col); + if (_StrikeThrough) + rVR.drawRotFlipBitmap (_RenderLayer, _XReal, _YReal+(_FontLegHeight/2), _WReal, 1, 0, false, rVR.getBlankTextureId(), col); + // reset selection if(_TextSelection) TextContext->resetStringSelection(_Index); @@ -1154,6 +1245,22 @@ namespace NLGUI return _FontSize - CWidgetManager::getInstance()->getSystemOption( CWidgetManager::OptionAddCoefFont).getValSInt32(); } + // *************************************************************************** + void CViewText::setEmbolden (bool embolden) + { + _Embolden = embolden; + computeFontSize (); + invalidateContent(); + } + + // *************************************************************************** + void CViewText::setOblique (bool oblique) + { + _Oblique = oblique; + computeFontSize (); + invalidateContent(); + } + // *************************************************************************** void CViewText::setColor(const NLMISC::CRGBA & color) { @@ -1679,6 +1786,8 @@ namespace NLGUI TextContext->setShaded (_Shadow); TextContext->setShadeOutline (_ShadowOutline); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); // default state _SingleLineTextClamped= false; @@ -2000,6 +2109,8 @@ namespace NLGUI TextContext->setShaded (_Shadow); TextContext->setShadeOutline (_ShadowOutline); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); // CViewRenderer &rVR = *CViewRenderer::getInstance(); height = getFontHeight(); // @@ -2132,6 +2243,8 @@ namespace NLGUI TextContext->setShaded (_Shadow); TextContext->setShadeOutline (_ShadowOutline); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); // find the line where the character is // CViewRenderer &rVR = *CViewRenderer::getInstance(); uint charPos = 0; @@ -2407,6 +2520,8 @@ namespace NLGUI TextContext->setShaded (_Shadow); TextContext->setShadeOutline (_ShadowOutline); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); TCharPos linePos = 0; while (linePos < _Text.length()) @@ -2492,6 +2607,8 @@ namespace NLGUI TextContext->setShaded (_Shadow); TextContext->setShadeOutline (_ShadowOutline); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); // Current position in text TCharPos currPos = 0; @@ -2544,6 +2661,8 @@ namespace NLGUI TextContext->setShaded (_Shadow); TextContext->setShadeOutline (_ShadowOutline); TextContext->setFontSize (_FontSize); + TextContext->setEmbolden (_Embolden); + TextContext->setOblique (_Oblique); // Letter size UTextContext::CStringInfo si = TextContext->getStringInfo(ucstring("|")); // for now we can't now that directly from UTextContext diff --git a/code/nel/src/misc/CMakeLists.txt b/code/nel/src/misc/CMakeLists.txt index 2d3ef9066..f40517f5b 100644 --- a/code/nel/src/misc/CMakeLists.txt +++ b/code/nel/src/misc/CMakeLists.txt @@ -1,6 +1,176 @@ FILE(GLOB SRC *.cpp *.h config_file/*.cpp config_file/*.h) FILE(GLOB HEADERS ../../include/nel/misc/*.h) +FILE(GLOB NLMISC_CDB + cdb.cpp ../../include/nel/misc/cdb.h + cdb_*.cpp ../../include/nel/misc/cdb_*.h +) + +FILE(GLOB NLMISC_EVENT + events.cpp ../../include/nel/misc/events.h + event_*.cpp ../../include/nel/misc/event_*.h + *_event_*.cpp ../../include/nel/misc/*_event_*.h +) + +FILE(GLOB NLMISC_DEBUG + debug.cpp ../../include/nel/misc/debug.h + report.cpp ../../include/nel/misc/report.h + log.cpp ../../include/nel/misc/log.h +) + +FILE(GLOB NLMISC_FILESYSTEM + async_file_manager.cpp ../../include/nel/misc/async_file_manager.h + file.cpp ../../include/nel/misc/file.h + path.cpp ../../include/nel/misc/path.h + big_file.cpp ../../include/nel/misc/big_file.h + *_xml.cpp ../../include/nel/misc/*_xml.h + xml_*.cpp ../../include/nel/misc/xml_*.h +) + +FILE(GLOB NLMISC_STREAM + *_stream.cpp ../../include/nel/misc/*_stream.h + stream.cpp ../../include/nel/misc/stream.h + stream_*.cpp ../../include/nel/misc/stream_*.h +) + +FILE(GLOB NLMISC_DISPLAYER + displayer.cpp ../../include/nel/misc/displayer.h + *_displayer.cpp ../../include/nel/misc/*_displayer.h +) + +FILE(GLOB NLMISC_MATH + plane.cpp ../../include/nel/misc/plane.h + ../../include/nel/misc/plane_inline.h + polygon.cpp ../../include/nel/misc/polygon.h + quad.cpp ../../include/nel/misc/quad.h + quat.cpp ../../include/nel/misc/quat.h + rect.cpp ../../include/nel/misc/rect.h + rgba.cpp ../../include/nel/misc/rgba.h + triangle.cpp ../../include/nel/misc/triangle.h + uv.cpp ../../include/nel/misc/uv.h + vector*.cpp ../../include/nel/misc/vector*.h + aabbox.cpp ../../include/nel/misc/aabbox.h + algo.cpp ../../include/nel/misc/algo.h + bsphere.cpp ../../include/nel/misc/bsphere.h + fast_floor.cpp ../../include/nel/misc/fast_floor.h + geom_ext.cpp ../../include/nel/misc/geom_ext.h + line.cpp ../../include/nel/misc/line.h + matrix.cpp ../../include/nel/misc/matrix.h +) + +FILE(GLOB NLMISC_PLATFORM + *_nl.cpp ../../include/nel/misc/*_nl.h + common.cpp ../../include/nel/misc/common.h + app_context.cpp ../../include/nel/misc/app_context.h + check_fpu.cpp ../../include/nel/misc/check_fpu.h + cpu_time_stat.cpp ../../include/nel/misc/cpu_time_stat.h + dummy_window.cpp ../../include/nel/misc/dummy_window.h + dynloadlib.cpp ../../include/nel/misc/dynloadlib.h + fast_mem.cpp ../../include/nel/misc/fast_mem.h + inter_window_msg_queue.cpp ../../include/nel/misc/inter_window_msg_queue.h + system_*.cpp ../../include/nel/misc/system_*.h + win32_util.cpp ../../include/nel/misc/win32_util.h + win_tray.cpp ../../include/nel/misc/win_tray.h +) + +FILE(GLOB NLMISC_GENERIC + ../../include/nel/misc/array_2d.h + *_memory.cpp ../../include/nel/misc/*_memory.h + buf_fifo.cpp ../../include/nel/misc/buf_fifo.h + ../../include/nel/misc/callback.h + *_allocator.cpp ../../include/nel/misc/*_allocator.h + ../../include/nel/misc/enum_bitset.h + fast_id_map.cpp ../../include/nel/misc/fast_id_map.h + hierarchical_timer.cpp ../../include/nel/misc/hierarchical_timer.h + ../../include/nel/misc/historic.h + ../../include/nel/misc/mutable_container.h + ../../include/nel/misc/random.h + smart_ptr.cpp ../../include/nel/misc/smart_ptr.h + ../../include/nel/misc/smart_ptr_inline.h + ../../include/nel/misc/resource_ptr.h + ../../include/nel/misc/resource_ptr_inline.h + bit_set.cpp ../../include/nel/misc/bit_set.h + stop_watch.cpp ../../include/nel/misc/stop_watch.h + ../../include/nel/misc/twin_map.h + object_vector.cpp ../../include/nel/misc/object_vector.h + ../../include/nel/misc/singleton.h + speaker_listener.cpp ../../include/nel/misc/speaker_listener.h + ../../include/nel/misc/static_map.h + stl_block_list.cpp ../../include/nel/misc/stl_block_list.h +) + +FILE(GLOB NLMISC_UTILITY + config_file.cpp ../../include/nel/misc/config_file.h + cf_*.cpp ../../include/nel/misc/cf_*.h + config_file/config_file.cpp config_file/config_file.h + config_file/cf_*.cpp config_file/cf_*.h + class_id.cpp ../../include/nel/misc/class_id.h + class_registry.cpp ../../include/nel/misc/class_registry.h + cmd_args.cpp ../../include/nel/misc/cmd_args.h + command.cpp ../../include/nel/misc/command.h + eid_translator.cpp ../../include/nel/misc/eid_translator.h + entity_id.cpp ../../include/nel/misc/entity_id.h + eval_num_expr.cpp ../../include/nel/misc/eval_num_expr.h + factory.cpp ../../include/nel/misc/factory.h + grid_traversal.cpp ../../include/nel/misc/grid_traversal.h + mouse_smoother.cpp ../../include/nel/misc/mouse_smoother.h + noise_value.cpp ../../include/nel/misc/noise_value.h + progress_callback.cpp ../../include/nel/misc/progress_callback.h + sheet_id.cpp ../../include/nel/misc/sheet_id.h + variable.cpp ../../include/nel/misc/variable.h + value_smoother.cpp ../../include/nel/misc/value_smoother.h +) + +FILE(GLOB NLMISC_STRING + string_*.cpp ../../include/nel/misc/string_*.h + ../../include/nel/misc/ucstring.h + unicode.cpp + sstring.cpp ../../include/nel/misc/sstring.h +) + +FILE(GLOB NLMISC_I18N + diff_tool.cpp ../../include/nel/misc/diff_tool.h + i18n.cpp ../../include/nel/misc/i18n.h + words_dictionary.cpp ../../include/nel/misc/words_dictionary.h +) + +FILE(GLOB NLMISC_THREAD + co_task.cpp ../../include/nel/misc/co_task.h + mutex.cpp ../../include/nel/misc/mutex.h + *_thread.cpp ../../include/nel/misc/*_thread.h + task_*.cpp ../../include/nel/misc/task_*.h + reader_writer.cpp ../../include/nel/misc/reader_writer.h + tds.cpp ../../include/nel/misc/tds.h + thread.cpp ../../include/nel/misc/thread.h +) + +FILE(GLOB NLMISC_BITMAP + bitmap.cpp ../../include/nel/misc/bitmap.h + bitmap_*.cpp +) + +FILE(GLOB NLMISC_CRYPT + md5.cpp ../../include/nel/misc/md5.h + sha1.cpp ../../include/nel/misc/sha1.h +) + +SOURCE_GROUP("" FILES ${SRC} ${HEADERS}) +SOURCE_GROUP("cdb" FILES ${NLMISC_CDB}) +SOURCE_GROUP("event" FILES ${NLMISC_EVENT}) +SOURCE_GROUP("debug" FILES ${NLMISC_DEBUG}) +SOURCE_GROUP("platform" FILES ${NLMISC_PLATFORM}) +SOURCE_GROUP("filesystem" FILES ${NLMISC_FILESYSTEM}) +SOURCE_GROUP("stream" FILES ${NLMISC_STREAM}) +SOURCE_GROUP("displayer" FILES ${NLMISC_DISPLAYER}) +SOURCE_GROUP("math" FILES ${NLMISC_MATH}) +SOURCE_GROUP("generic" FILES ${NLMISC_GENERIC}) +SOURCE_GROUP("utility" FILES ${NLMISC_UTILITY}) +SOURCE_GROUP("bitmap" FILES ${NLMISC_BITMAP}) +SOURCE_GROUP("thread" FILES ${NLMISC_THREAD}) +SOURCE_GROUP("i18n" FILES ${NLMISC_I18N}) +SOURCE_GROUP("crypt" FILES ${NLMISC_CRYPT}) +SOURCE_GROUP("string" FILES ${NLMISC_STRING}) + NL_TARGET_LIB(nelmisc ${HEADERS} ${SRC}) IF(WITH_GTK) diff --git a/code/nel/src/misc/app_context.cpp b/code/nel/src/misc/app_context.cpp index 32b981bb3..2383fcda5 100644 --- a/code/nel/src/misc/app_context.cpp +++ b/code/nel/src/misc/app_context.cpp @@ -114,6 +114,7 @@ CApplicationContext::CApplicationContext() DebugNeedAssert = false; NoAssert = false; AlreadyCreateSharedAmongThreads = false; + WindowedApplication = false; contextReady(); } @@ -242,6 +243,16 @@ void CApplicationContext::setAlreadyCreateSharedAmongThreads(bool b) AlreadyCreateSharedAmongThreads = b; } +bool CApplicationContext::isWindowedApplication() +{ + return WindowedApplication; +} + +void CApplicationContext::setWindowedApplication(bool b) +{ + WindowedApplication = b; +} + CLibraryContext::CLibraryContext(INelContext &applicationContext) : _ApplicationContext(&applicationContext) { @@ -430,6 +441,16 @@ void CLibraryContext::setAlreadyCreateSharedAmongThreads(bool b) _ApplicationContext->setAlreadyCreateSharedAmongThreads(b); } +bool CLibraryContext::isWindowedApplication() +{ + return _ApplicationContext->isWindowedApplication(); +} + +void CLibraryContext::setWindowedApplication(bool b) +{ + _ApplicationContext->setWindowedApplication(b); +} + void initNelLibrary(NLMISC::CLibrary &lib) { nlassert(lib.isLibraryLoaded()); diff --git a/code/nel/src/misc/co_task.cpp b/code/nel/src/misc/co_task.cpp index d238b4853..97a9e1e23 100644 --- a/code/nel/src/misc/co_task.cpp +++ b/code/nel/src/misc/co_task.cpp @@ -43,20 +43,7 @@ #else //NL_USE_THREAD_COTASK // some platform specifics #if defined (NL_OS_WINDOWS) -//# define _WIN32_WINNT 0x0500 -# define NL_WIN_CALLBACK CALLBACK -// Visual .NET won't allow Fibers for a Windows version older than 2000. However the basic features are sufficient for us, we want to compile them for all Windows >= 95 -# if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400) -# ifdef _WIN32_WINNT -# undef _WIN32_WINNT -# endif -# define _WIN32_WINNT 0x0400 -# endif - -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include +# define NL_WIN_CALLBACK CALLBACK #elif defined (NL_OS_UNIX) # define NL_WIN_CALLBACK # include diff --git a/code/nel/src/misc/common.cpp b/code/nel/src/misc/common.cpp index 31ad7edb0..8183430f1 100644 --- a/code/nel/src/misc/common.cpp +++ b/code/nel/src/misc/common.cpp @@ -20,10 +20,7 @@ #include "nel/misc/common.h" #ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include +# include # include # include #elif defined NL_OS_UNIX @@ -670,7 +667,7 @@ bool abortProgram(uint32 pid) #endif } -bool launchProgram (const std::string &programName, const std::string &arguments) +bool launchProgram(const std::string &programName, const std::string &arguments, bool log) { #ifdef NL_OS_WINDOWS @@ -722,7 +719,8 @@ bool launchProgram (const std::string &programName, const std::string &arguments { LPVOID lpMsgBuf; FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL); - nlwarning("LAUNCH: Failed launched '%s' with arg '%s' err %d: '%s'", programName.c_str(), arguments.c_str(), GetLastError (), lpMsgBuf); + if (log) + nlwarning("LAUNCH: Failed launched '%s' with arg '%s' err %d: '%s'", programName.c_str(), arguments.c_str(), GetLastError(), lpMsgBuf); LocalFree(lpMsgBuf); CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); @@ -779,7 +777,8 @@ bool launchProgram (const std::string &programName, const std::string &arguments if (status == -1) { char *err = strerror (errno); - nlwarning("LAUNCH: Failed launched '%s' with arg '%s' err %d: '%s'", programName.c_str(), arguments.c_str(), errno, err); + if (log) + nlwarning("LAUNCH: Failed launched '%s' with arg '%s' err %d: '%s'", programName.c_str(), arguments.c_str(), errno, err); } else if (status == 0) { @@ -799,7 +798,8 @@ bool launchProgram (const std::string &programName, const std::string &arguments return true; } #else - nlwarning ("LAUNCH: launchProgram() not implemented"); + if (log) + nlwarning ("LAUNCH: launchProgram() not implemented"); #endif return false; diff --git a/code/nel/src/misc/debug.cpp b/code/nel/src/misc/debug.cpp index c7667acc2..798161a21 100644 --- a/code/nel/src/misc/debug.cpp +++ b/code/nel/src/misc/debug.cpp @@ -17,28 +17,8 @@ #include "stdmisc.h" #include "nel/misc/types_nl.h" -#include "nel/misc/debug.h" - -#ifdef HAVE_NELCONFIG_H -# include "nelconfig.h" -#endif // HAVE_NELCONFIG_H - -#include "nel/misc/log.h" -#include "nel/misc/displayer.h" -#include "nel/misc/mem_displayer.h" -#include "nel/misc/command.h" -#include "nel/misc/report.h" -#include "nel/misc/path.h" -#include "nel/misc/variable.h" -#include "nel/misc/system_info.h" #ifdef NL_OS_WINDOWS -# define _WIN32_WINDOWS 0x0410 -# ifndef NL_COMP_MINGW -# define WINVER 0x0400 -# define NOMINMAX -# endif -# include # include # include # include @@ -59,6 +39,22 @@ # include #endif +#include "nel/misc/debug.h" + +#ifdef HAVE_NELCONFIG_H +# include "nelconfig.h" +#endif // HAVE_NELCONFIG_H + +#include "nel/misc/log.h" +#include "nel/misc/displayer.h" +#include "nel/misc/mem_displayer.h" +#include "nel/misc/command.h" +#include "nel/misc/report.h" +#include "nel/misc/path.h" +#include "nel/misc/variable.h" +#include "nel/misc/system_info.h" +#include "nel/misc/system_utils.h" + #define NL_NO_DEBUG_FILES 1 using namespace std; @@ -83,7 +79,8 @@ using namespace std; #define LOG_IN_FILE NEL_LOG_IN_FILE // If true, debug system will trap crash even if the application is in debugger -static const bool TrapCrashInDebugger = false; +//static const bool TrapCrashInDebugger = false; +static const bool TrapCrashInDebugger = true; #ifdef DEBUG_NEW #define new DEBUG_NEW @@ -552,8 +549,8 @@ public: { // yoyo: allow only to send the crash report once. Because users usually click ignore, // which create noise into list of bugs (once a player crash, it will surely continues to do it). - bool i = false; - report (progname+shortExc, "", subject, _Reason, true, 1, true, 1, !isCrashAlreadyReported(), i, NL_CRASH_DUMP_FILE); + report(progname + shortExc, subject, _Reason, NL_CRASH_DUMP_FILE, true, !isCrashAlreadyReported(), ReportAbort); + // TODO: Does this need to be synchronous? Why does this not handle the report result? // no more sent mail for crash setCrashAlreadyReported(true); @@ -1196,10 +1193,10 @@ void createDebug (const char *logPath, bool logInFile, bool eraseLastLog) #ifdef NL_OS_WINDOWS if (TrapCrashInDebugger || !IsDebuggerPresent ()) +#endif { DefaultMsgBoxDisplayer = new CMsgBoxDisplayer ("DEFAULT_MBD"); } -#endif #if LOG_IN_FILE if (logInFile) @@ -1227,6 +1224,9 @@ void createDebug (const char *logPath, bool logInFile, bool eraseLastLog) #endif // LOG_IN_FILE DefaultMemDisplayer = new CMemDisplayer ("DEFAULT_MD"); + if (NLMISC::CSystemUtils::detectWindowedApplication()) + INelContext::getInstance().setWindowedApplication(true); + initDebug2(logInFile); INelContext::getInstance().setAlreadyCreateSharedAmongThreads(true); diff --git a/code/nel/src/misc/displayer.cpp b/code/nel/src/misc/displayer.cpp index d48c44d02..57b3e09d4 100644 --- a/code/nel/src/misc/displayer.cpp +++ b/code/nel/src/misc/displayer.cpp @@ -18,6 +18,10 @@ #include "nel/misc/types_nl.h" +#ifndef NL_OS_WINDOWS +# define IsDebuggerPresent() false +#endif + #ifdef NL_OS_WINDOWS # include # include @@ -35,19 +39,6 @@ #include "nel/misc/debug.h" -#ifdef NL_OS_WINDOWS -// these defines is for IsDebuggerPresent(). it'll not compile on windows 95 -// just comment this and the IsDebuggerPresent to compile on windows 95 -# define _WIN32_WINDOWS 0x0410 -# ifndef NL_COMP_MINGW -# define WINVER 0x0400 -# define NOMINMAX -# endif -# include -#else -# define IsDebuggerPresent() false -#endif - #include "nel/misc/displayer.h" using namespace std; @@ -529,7 +520,7 @@ void CFileDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *mes // in release "" void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *message) { -#ifdef NL_OS_WINDOWS +//#ifdef NL_OS_WINDOWS bool needSpace = false; // stringstream ss; @@ -688,39 +679,35 @@ void CMsgBoxDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *m // yoyo: allow only to send the crash report once. Because users usually click ignore, // which create noise into list of bugs (once a player crash, it will surely continues to do it). std::string filename = getLogDirectory() + NL_CRASH_DUMP_FILE; + + TReportResult reportResult = report(args.ProcessName + " NeL " + toString(logTypeToString(args.LogType, true)), + subject, body, filename, NL_REPORT_SYNCHRONOUS, !isCrashAlreadyReported(), NL_REPORT_DEFAULT); - if (ReportDebug == report (args.ProcessName + " NeL " + toString(logTypeToString(args.LogType, true)), "", subject, body, true, 2, true, 1, !isCrashAlreadyReported(), IgnoreNextTime, filename.c_str())) + switch (reportResult) { + case ReportAlwaysIgnore: + IgnoreNextTime = true; + break; + case ReportBreak: INelContext::getInstance().setDebugNeedAssert(true); + break; + case ReportAbort: +# ifdef NL_OS_WINDOWS +# ifndef NL_COMP_MINGW + // disable the Windows popup telling that the application aborted and disable the dr watson report. + _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); +# endif +# endif + abort(); + break; } // no more sent mail for crash setCrashAlreadyReported(true); } + } -/* // Check the envvar NEL_IGNORE_ASSERT - if (getenv ("NEL_IGNORE_ASSERT") == NULL) - { - // Ask the user to continue, debug or ignore - int result = MessageBox (NULL, ss2.str().c_str (), logTypeToString(args.LogType, true), MB_ABORTRETRYIGNORE | MB_ICONSTOP); - if (result == IDABORT) - { - // Exit the program now - exit (EXIT_FAILURE); - } - else if (result == IDRETRY) - { - // Give the debugger a try - DebugNeedAssert = true; - } - else if (result == IDIGNORE) - { - // Continue, do nothing - } - } -*/ } - -#endif +//#endif } diff --git a/code/nel/src/misc/gtk_displayer.cpp b/code/nel/src/misc/gtk_displayer.cpp index c2e04e67e..0c581b2e5 100644 --- a/code/nel/src/misc/gtk_displayer.cpp +++ b/code/nel/src/misc/gtk_displayer.cpp @@ -32,6 +32,7 @@ #pragma comment(lib, "gthread-1.3.lib") #endif +#include "nel/misc/app_context.h" #include "nel/misc/path.h" #include "nel/misc/command.h" #include "nel/misc/thread.h" @@ -59,6 +60,14 @@ static GtkWidget *hrootbox = NULL, *scrolled_win2 = NULL; // Functions // +CGtkDisplayer (const char *displayerName) : CWindowDisplayer(displayerName) +{ + needSlashR = false; + createLabel ("@Clear|CLEAR"); + + INelContext::getInstance().setWindowedApplication(true); +} + CGtkDisplayer::~CGtkDisplayer () { if (_Init) diff --git a/code/nel/src/misc/log.cpp b/code/nel/src/misc/log.cpp index 478a5e338..f0e3e36f8 100644 --- a/code/nel/src/misc/log.cpp +++ b/code/nel/src/misc/log.cpp @@ -19,11 +19,7 @@ #include "nel/misc/log.h" #ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif # include -# include #else # include #endif diff --git a/code/nel/src/misc/mem_displayer.cpp b/code/nel/src/misc/mem_displayer.cpp index 49431097d..0aaac26cc 100644 --- a/code/nel/src/misc/mem_displayer.cpp +++ b/code/nel/src/misc/mem_displayer.cpp @@ -24,10 +24,6 @@ #include "nel/misc/debug.h" #ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include # include # pragma comment(lib, "imagehlp.lib") # ifdef NL_OS_WIN64 @@ -103,7 +99,7 @@ static string getFuncInfo (DWORD_TYPE funcAddr, DWORD_TYPE stackAddr) if (stop==0 && (parse[i] == ',' || parse[i] == ')')) { char tmp[32]; - sprintf (tmp, "=0x%p", *((ULONG*)(stackAddr) + 2 + pos++)); + sprintf(tmp, "=0x%p", *((DWORD_TYPE*)(stackAddr) + 2 + pos++)); str += tmp; } str += parse[i]; diff --git a/code/nel/src/misc/mutex.cpp b/code/nel/src/misc/mutex.cpp index 28f6bae37..8135d954f 100644 --- a/code/nel/src/misc/mutex.cpp +++ b/code/nel/src/misc/mutex.cpp @@ -41,15 +41,6 @@ using namespace std; #ifdef NL_OS_WINDOWS -// these defines are for IsDebuggerPresent(). It'll not compile on windows 95 -// just comment this and the IsDebuggerPresent to compile on windows 95 -#define _WIN32_WINDOWS 0x0410 -#ifndef NL_COMP_MINGW -# define WINVER 0x0400 -# define NOMINMAX -#endif -#include - #ifdef DEBUG_NEW #define new DEBUG_NEW #endif diff --git a/code/nel/src/misc/path.cpp b/code/nel/src/misc/path.cpp index f593f695d..248116f20 100644 --- a/code/nel/src/misc/path.cpp +++ b/code/nel/src/misc/path.cpp @@ -25,10 +25,6 @@ #include "nel/misc/xml_pack.h" #ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include # include # include # include @@ -902,10 +898,10 @@ void CFileContainer::getPathContent (const string &path, bool recurse, bool want if (isdirectory(de)) { - // skip CVS and .svn directory - if ((!showEverything) && (fn == "CVS" || fn == ".svn")) + // skip CVS, .svn and .hg directory + if ((!showEverything) && (fn == "CVS" || fn == ".svn" || fn == ".hg")) { - NL_DISPLAY_PATH("PATH: CPath::getPathContent(%s, %d, %d, %d): skip CVS and .svn directory", path.c_str(), recurse, wantDir, wantFile); + NL_DISPLAY_PATH("PATH: CPath::getPathContent(%s, %d, %d, %d): skip CVS, .svn and .hg directory", path.c_str(), recurse, wantDir, wantFile); continue; } @@ -941,10 +937,10 @@ void CFileContainer::getPathContent (const string &path, bool recurse, bool want closedir (dir); #ifndef NL_OS_WINDOWS - BasePathgetPathContent = ""; + BasePathgetPathContent.clear(); #endif - // let s recurse + // let's recurse for (uint i = 0; i < recursPath.size (); i++) { // Progress bar @@ -1037,6 +1033,9 @@ void CFileContainer::addSearchPath (const string &path, bool recurse, bool alter { // find all path and subpath getPathContent (newPath, recurse, true, false, pathsToProcess, progressCallBack); + + // sort files + sort(pathsToProcess.begin(), pathsToProcess.end()); } for (uint p = 0; p < pathsToProcess.size(); p++) @@ -1082,7 +1081,10 @@ void CFileContainer::addSearchPath (const string &path, bool recurse, bool alter // find all files in the path and subpaths getPathContent (newPath, recurse, false, true, filesToProcess, progressCallBack); - // Progree bar + // sort files + sort(filesToProcess.begin(), filesToProcess.end()); + + // Progress bar if (progressCallBack) { progressCallBack->popCropedValues (); diff --git a/code/nel/src/misc/report.cpp b/code/nel/src/misc/report.cpp index 20b2b1c11..ef3280ef5 100644 --- a/code/nel/src/misc/report.cpp +++ b/code/nel/src/misc/report.cpp @@ -16,346 +16,209 @@ #include "stdmisc.h" +#include +#include + #include "nel/misc/common.h" #include "nel/misc/ucstring.h" #include "nel/misc/report.h" #include "nel/misc/path.h" - -#ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include -# include -# include -#endif // NL_OS_WINDOWS - -#define NL_NO_DEBUG_FILES 1 - -using namespace std; +#include "nel/misc/file.h" +#include "nel/misc/system_utils.h" #ifdef DEBUG_NEW #define new DEBUG_NEW #endif +#define NL_REPORT_POST_URL_ENVVAR "NL_REPORT_POST_URL" +#ifdef NL_OS_WINDOWS +#define NL_CRASH_REPORT_TOOL "crash_report.exe" +#else +#define NL_CRASH_REPORT_TOOL "crash_report" +#endif +#define NL_DEBUG_REPORT 0 +// Set to 1 if you want command line report tool +#define NL_REPORT_CONSOLE 0 +// Set to 1 if you want command line report tool even when the debugger is present +#define NL_REPORT_CONSOLE_DEBUGGER 1 + namespace NLMISC { +void setReportPostUrl(const char *postUrl) +{ +#if NL_DEBUG_REPORT + if (INelContext::isContextInitialised()) + nldebug("Set report post url to '%s'", postUrl); +#endif #ifdef NL_OS_WINDOWS -static HWND sendReport=NULL; + SetEnvironmentVariableA(NL_REPORT_POST_URL_ENVVAR, postUrl); +#else + setenv(NL_REPORT_POST_URL_ENVVAR, postUrl, 1); #endif +} -//old doesn't work on visual c++ 7.1 due to default parameter typedef bool (*TEmailFunction) (const std::string &smtpServer, const std::string &from, const std::string &to, const std::string &subject, const std::string &body, const std::string &attachedFile = "", bool onlyCheck = false); -typedef bool (*TEmailFunction) (const std::string &smtpServer, const std::string &from, const std::string &to, const std::string &subject, const std::string &body, const std::string &attachedFile, bool onlyCheck); - -#define DELETE_OBJECT(a) if((a)!=NULL) { DeleteObject (a); a = NULL; } - -static TEmailFunction EmailFunction = NULL; - -void setReportEmailFunction (void *emailFunction) +inline const char *getReportPostURL() { - EmailFunction = (TEmailFunction)emailFunction; - #ifdef NL_OS_WINDOWS - if (sendReport) - EnableWindow(sendReport, FALSE); + static char buf[512]; + buf[0] = '\0'; + int res = GetEnvironmentVariableA(NL_REPORT_POST_URL_ENVVAR, buf, sizeof(buf)); + if (res <= 0 || res > 511) return NULL; + if (buf[0] == '\0') return NULL; + return buf; +#else + char *res = getenv(NL_REPORT_POST_URL_ENVVAR); + if (res == NULL || res[0] == '\0') return NULL; + return res; #endif } -#ifndef NL_OS_WINDOWS +TReportResult report(const std::string &title, const std::string &subject, const std::string &body, const std::string &attachment, bool synchronous, bool sendReport, TReportResult defaultResult) +{ + std::string reportPath; + if (!body.empty()) + { + std::stringstream reportFile; + reportFile << getLogDirectory(); + reportFile << "nel_report_"; + reportFile << (int)time(NULL); + reportFile << ".log"; + reportPath = CFile::findNewFile(reportFile.str()); + std::ofstream f; + f.open(reportPath.c_str()); + if (!f.good()) + { +#if NL_DEBUG_REPORT + if (INelContext::isContextInitialised()) + nldebug("Failed to write report log to '%s'", reportPath.c_str()); +#endif + reportPath.clear(); + } + else + { + f << body; + f.close(); + } + } -// GNU/Linux, do nothing + if (((INelContext::isContextInitialised() + && INelContext::getInstance().isWindowedApplication()) + || CSystemUtils::detectWindowedApplication()) + && CFile::isExists(NL_CRASH_REPORT_TOOL)) + { + std::stringstream params; + params << NL_CRASH_REPORT_TOOL; -void report () -{ -} + if (!reportPath.empty()) + params << " -log \"" << reportPath << "\""; -#else + if (!subject.empty()) + params << " -attachment \"" << attachment << "\""; -// Windows specific version + if (!title.empty()) + params << " -title \"" << title << "\""; -static string Body; -static string Subject; -static string AttachedFile; + if (!subject.empty()) + params << " -subject \"" << subject << "\""; -static HWND checkIgnore=NULL; -static HWND debug=NULL; -static HWND ignore=NULL; -static HWND quit=NULL; -static HWND dialog=NULL; + const char *reportPostUrl = getReportPostURL(); + if (reportPostUrl) + params << " -host \"" << reportPostUrl << "\""; -static bool NeedExit; -static TReportResult Result; -static bool IgnoreNextTime; -static bool CanSendMailReport= false; + if (synchronous) + params << " -dev"; -static bool DebugDefaultBehavior, QuitDefaultBehavior; + if (sendReport) + params << " -sendreport"; -static void sendEmail() -{ - if (CanSendMailReport && SendMessage(sendReport, BM_GETCHECK, 0, 0) != BST_CHECKED) - { - bool res = EmailFunction ("", "", "", Subject, Body, AttachedFile, false); - if (res) + std::string paramsStr = params.str(); + + if (synchronous) { - // EnableWindow(sendReport, FALSE); - // MessageBox (dialog, "The email was successfully sent", "email", MB_OK); -#ifndef NL_NO_DEBUG_FILES - CFile::createEmptyFile(getLogDirectory() + "report_sent"); + TReportResult result = (TReportResult)::system(paramsStr.c_str()); + if (result != ReportAlwaysIgnore + && result != ReportIgnore + && result != ReportAbort + && result != ReportBreak) + { +#if NL_DEBUG_REPORT + if (INelContext::isContextInitialised()) + nldebug("Return default result, invalid return code %i", (int)result); #endif + return defaultResult; + } + return result; } else { -#ifndef NL_NO_DEBUG_FILES - CFile::createEmptyFile(getLogDirectory() + "report_failed"); -#endif - // MessageBox (dialog, "Failed to send the email", "email", MB_OK | MB_ICONERROR); + NLMISC::launchProgram(NL_CRASH_REPORT_TOOL, paramsStr, + NL_DEBUG_REPORT ? INelContext::isContextInitialised() : false); // Only log if required, avoid infinite loop + return defaultResult; } } else { -#ifndef NL_NO_DEBUG_FILES - CFile::createEmptyFile(getLogDirectory() + "report_refused"); +#if NL_DEBUG_REPORT + if (INelContext::isContextInitialised() && !CFile::isExists(NL_CRASH_REPORT_TOOL)) + nldebug("Crash report tool '%s' does not exist", NL_CRASH_REPORT_TOOL); #endif - } -} - -static LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - //MSGFILTER *pmf; - - if (message == WM_COMMAND && HIWORD(wParam) == BN_CLICKED) - { - if ((HWND) lParam == checkIgnore) +#if defined(NL_OS_WINDOWS) && !FINAL_VERSION && !NL_REPORT_CONSOLE_DEBUGGER + if (IsDebuggerPresent()) { - IgnoreNextTime = !IgnoreNextTime; - } - else if ((HWND) lParam == debug) - { - sendEmail(); - NeedExit = true; - Result = ReportDebug; - if (DebugDefaultBehavior) - { - NLMISC_BREAKPOINT; - } + return defaultResult; } - else if ((HWND) lParam == ignore) - { - sendEmail(); - NeedExit = true; - Result = ReportIgnore; - } - else if ((HWND) lParam == quit) - { - sendEmail(); - NeedExit = true; - Result = ReportQuit; - - if (QuitDefaultBehavior) - { - // ace: we cannot call exit() because it's call the static object dtor and can crash the application - // if the dtor call order is not good. - //exit(EXIT_SUCCESS); -#ifdef NL_OS_WINDOWS -#ifndef NL_COMP_MINGW - // disable the Windows popup telling that the application aborted and disable the dr watson report. - _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); -#endif + else #endif - // quit without calling atexit or static object dtors. - abort(); - } - } - /*else if ((HWND) lParam == sendReport) + if (synchronous) { - if (EmailFunction != NULL) +#if NL_REPORT_CONSOLE + // An interactive console based report + printf("\n"); + if (!title.empty()) + printf("%s\n", title.c_str()); + else + printf("NeL report\n"); + printf("\n"); + if (!subject.empty()) + printf("\tsubject: '%s'\n", subject.c_str()); + if (!body.empty()) + printf("\tbody: '%s'\n", reportPath.c_str()); + if (!attachment.empty()) + printf("\tattachment: '%s'\n", attachment.c_str()); + for (;;) { - bool res = EmailFunction ("", "", "", Subject, Body, AttachedFile, false); - if (res) - { - EnableWindow(sendReport, FALSE); - MessageBox (dialog, "The email was successfully sent", "email", MB_OK); - CFile::createEmptyFile(getLogDirectory() + "report_sent"); - } - else + printf("\n"); + printf("Always Ignore (S), Ignore (I), Abort (A), Break (B)?\n"); // S for Surpress + printf("> "); + int c = getchar(); + getchar(); + switch (c) { - MessageBox (dialog, "Failed to send the email", "email", MB_OK | MB_ICONERROR); + case 'S': + case 's': + return ReportAlwaysIgnore; + case 'I': + case 'i': + return ReportIgnore; + case 'A': + case 'a': + return ReportAbort; + case 'B': + case 'b': + return ReportBreak; } } - }*/ - } - else if (message == WM_CHAR) - { - if (wParam == 27) - { - // ESC -> ignore - sendEmail(); - NeedExit = true; - Result = ReportIgnore; - } - } - - return DefWindowProc (hWnd, message, wParam, lParam); -} - -TReportResult report (const std::string &title, const std::string &header, const std::string &subject, const std::string &body, bool enableCheckIgnore, uint debugButton, bool ignoreButton, sint quitButton, bool sendReportButton, bool &ignoreNextTime, const string &attachedFile) -{ - // register the window - static bool AlreadyRegister = false; - if(!AlreadyRegister) - { - WNDCLASSW wc; - memset (&wc,0,sizeof(wc)); - wc.style = CS_HREDRAW | CS_VREDRAW; - wc.lpfnWndProc = (WNDPROC)WndProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 0; - wc.hInstance = GetModuleHandle(NULL); - wc.hIcon = NULL; - wc.hCursor = LoadCursor(NULL,IDC_ARROW); - wc.hbrBackground = (HBRUSH)COLOR_WINDOW; - wc.lpszClassName = L"NLReportWindow"; - wc.lpszMenuName = NULL; - if (!RegisterClassW(&wc)) return ReportError; - AlreadyRegister = true; - } - - ucstring formatedTitle = title.empty() ? ucstring("NeL report") : ucstring(title); - - - // create the window - dialog = CreateWindowW (L"NLReportWindow", (LPCWSTR)formatedTitle.c_str(), WS_DLGFRAME | WS_CAPTION /*| WS_THICKFRAME*/, CW_USEDEFAULT, CW_USEDEFAULT, 456, 400, NULL, NULL, GetModuleHandle(NULL), NULL); - - // create the font - HFONT font = CreateFont (-12, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial"); - - Subject = subject; - AttachedFile = attachedFile; - - // create the edit control - HWND edit = CreateWindowW (L"EDIT", NULL, WS_BORDER | WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | ES_READONLY | ES_LEFT | ES_MULTILINE, 7, 70, 429, 212, dialog, (HMENU) NULL, (HINSTANCE) GetWindowLongPtr(dialog, GWLP_HINSTANCE), NULL); - SendMessage (edit, WM_SETFONT, (WPARAM) font, TRUE); - - // set the edit text limit to lot of :) - SendMessage (edit, EM_LIMITTEXT, ~0U, 0); - - Body = addSlashR (body); - - // set the message in the edit text - SendMessage (edit, WM_SETTEXT, (WPARAM)0, (LPARAM)Body.c_str()); - - if (enableCheckIgnore) - { - // create the combo box control - checkIgnore = CreateWindowW (L"BUTTON", L"Don't display this report again", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX | BS_CHECKBOX, 7, 290, 429, 18, dialog, (HMENU) NULL, (HINSTANCE) GetWindowLongPtr(dialog, GWLP_HINSTANCE), NULL); - SendMessage (checkIgnore, WM_SETFONT, (WPARAM) font, TRUE); - - if(ignoreNextTime) - { - SendMessage (checkIgnore, BM_SETCHECK, BST_CHECKED, 0); +#else + return defaultResult; +#endif } - } - - // create the debug button control - debug = CreateWindowW (L"BUTTON", L"Debug", WS_CHILD | WS_VISIBLE, 7, 315, 75, 25, dialog, (HMENU) NULL, (HINSTANCE) GetWindowLongPtr(dialog, GWLP_HINSTANCE), NULL); - SendMessage (debug, WM_SETFONT, (WPARAM) font, TRUE); - - if (debugButton == 0) - EnableWindow(debug, FALSE); - - // create the ignore button control - ignore = CreateWindowW (L"BUTTON", L"Ignore", WS_CHILD | WS_VISIBLE, 75+7+7, 315, 75, 25, dialog, (HMENU) NULL, (HINSTANCE) GetWindowLongPtr(dialog, GWLP_HINSTANCE), NULL); - SendMessage (ignore, WM_SETFONT, (WPARAM) font, TRUE); - - if (ignoreButton == 0) - EnableWindow(ignore, FALSE); - - // create the quit button control - quit = CreateWindowW (L"BUTTON", L"Quit", WS_CHILD | WS_VISIBLE, 75+75+7+7+7, 315, 75, 25, dialog, (HMENU) NULL, (HINSTANCE) GetWindowLongPtr(dialog, GWLP_HINSTANCE), NULL); - SendMessage (quit, WM_SETFONT, (WPARAM) font, TRUE); - - if (quitButton == 0) - EnableWindow(quit, FALSE); - - // create the debug button control - sendReport = CreateWindowW (L"BUTTON", L"Don't send the report", WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, 7, 315+32, 429, 18, dialog, (HMENU) NULL, (HINSTANCE) GetWindowLongPtr(dialog, GWLP_HINSTANCE), NULL); - SendMessage (sendReport, WM_SETFONT, (WPARAM) font, TRUE); - - string formatedHeader; - if (header.empty()) - { - formatedHeader = "This application stopped to display this report."; - } - else - { - formatedHeader = header; - } - - // ace don't do that because it s slow to try to send a mail - //CanSendMailReport = sendReportButton && EmailFunction != NULL && EmailFunction("", "", "", "", "", true); - CanSendMailReport = sendReportButton && EmailFunction != NULL; - - if (CanSendMailReport) - formatedHeader += " Send report will only email the contents of the box below. Please, send it to help us (it could take few minutes to send the email, be patient)."; - else - EnableWindow(sendReport, FALSE); - - ucstring uc = ucstring::makeFromUtf8(formatedHeader); - - // create the label control - HWND label = CreateWindowW (L"STATIC", (LPCWSTR)uc.c_str(), WS_CHILD | WS_VISIBLE /*| SS_WHITERECT*/, 7, 7, 429, 51, dialog, (HMENU) NULL, (HINSTANCE) GetWindowLongPtr(dialog, GWLP_HINSTANCE), NULL); - SendMessage (label, WM_SETFONT, (WPARAM) font, TRUE); - - - DebugDefaultBehavior = debugButton==1; - QuitDefaultBehavior = quitButton==1; - - IgnoreNextTime = ignoreNextTime; - - // show until the cursor really show :) - while (ShowCursor(TRUE) < 0) - ; - - SetWindowPos (dialog, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); - - SetFocus(dialog); - SetForegroundWindow(dialog); - - NeedExit = false; - - while(!NeedExit) - { - MSG msg; - while (PeekMessageW(&msg, NULL, 0, 0, PM_REMOVE)) + else { - TranslateMessage(&msg); - DispatchMessageW(&msg); + return defaultResult; } - nlSleep (1); } - - // set the user result - ignoreNextTime = IgnoreNextTime; - - ShowWindow(dialog, SW_HIDE); - - - - DELETE_OBJECT(sendReport) - DELETE_OBJECT(quit) - DELETE_OBJECT(ignore) - DELETE_OBJECT(debug) - DELETE_OBJECT(checkIgnore) - DELETE_OBJECT(edit) - DELETE_OBJECT(label) - DELETE_OBJECT(dialog) - - return Result; } -#endif - - } // NLMISC diff --git a/code/nel/src/misc/shared_memory.cpp b/code/nel/src/misc/shared_memory.cpp index 7b11fea52..3afe795f1 100644 --- a/code/nel/src/misc/shared_memory.cpp +++ b/code/nel/src/misc/shared_memory.cpp @@ -19,12 +19,7 @@ #include "nel/misc/shared_memory.h" #include "nel/misc/debug.h" -#ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include -#else +#ifndef NL_OS_WINDOWS # include # include # include diff --git a/code/nel/src/misc/stdmisc.h b/code/nel/src/misc/stdmisc.h index b98d92d2a..b24a74616 100644 --- a/code/nel/src/misc/stdmisc.h +++ b/code/nel/src/misc/stdmisc.h @@ -42,12 +42,20 @@ #include #include -#ifdef _WIN32 -# ifndef __MINGW32__ - #define NOMINMAX +#include + +#ifdef NL_OS_WINDOWS +# define WIN32_LEAN_AND_MEAN +# define _WIN32_WINDOWS 0x0410 +# ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0400 +# endif +# ifndef NL_COMP_MINGW +# define WINVER 0x0400 +# define NOMINMAX # endif # include -# include +# include #endif #endif // NL_STDMISC_H diff --git a/code/nel/src/misc/system_info.cpp b/code/nel/src/misc/system_info.cpp index 31cde5283..8524939c8 100644 --- a/code/nel/src/misc/system_info.cpp +++ b/code/nel/src/misc/system_info.cpp @@ -19,10 +19,6 @@ #include "nel/misc/system_info.h" #ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include # include # include # include diff --git a/code/nel/src/misc/system_utils.cpp b/code/nel/src/misc/system_utils.cpp index a66eed02f..bb1111b88 100644 --- a/code/nel/src/misc/system_utils.cpp +++ b/code/nel/src/misc/system_utils.cpp @@ -18,16 +18,12 @@ #include "nel/misc/system_utils.h" #ifdef NL_OS_WINDOWS - #ifndef NL_COMP_MINGW - #define NOMINMAX - #endif - #include - - #ifdef _WIN32_WINNT_WIN7 +# include +# ifdef _WIN32_WINNT_WIN7 // only supported by Windows 7 Platform SDK - #include - #define TASKBAR_PROGRESS 1 - #endif +# include +# define TASKBAR_PROGRESS 1 +# endif #endif #ifdef DEBUG_NEW @@ -359,4 +355,14 @@ uint CSystemUtils::getCurrentColorDepth() return depth; } +/// Detect whether the current process is a windowed application. Return true if definitely yes, false if unknown +bool CSystemUtils::detectWindowedApplication() +{ +#ifdef NL_OS_WINDOWS + if (GetConsoleWindow() == NULL) + return true; +#endif + return false; +} + } // NLMISC diff --git a/code/nel/src/misc/time_nl.cpp b/code/nel/src/misc/time_nl.cpp index 8aacbd002..70b7b3807 100644 --- a/code/nel/src/misc/time_nl.cpp +++ b/code/nel/src/misc/time_nl.cpp @@ -21,10 +21,7 @@ #include "nel/misc/thread.h" #ifdef NL_OS_WINDOWS -# ifndef NL_COMP_MINGW -# define NOMINMAX -# endif -# include +# include #elif defined (NL_OS_UNIX) # include # include diff --git a/code/nel/src/misc/win32_util.cpp b/code/nel/src/misc/win32_util.cpp index 63315e1b2..6085e98e5 100644 --- a/code/nel/src/misc/win32_util.cpp +++ b/code/nel/src/misc/win32_util.cpp @@ -20,8 +20,6 @@ #ifdef NL_OS_WINDOWS -#include - #ifdef DEBUG_NEW #define new DEBUG_NEW #endif diff --git a/code/nel/src/misc/win_displayer.cpp b/code/nel/src/misc/win_displayer.cpp index 95b6b34cf..5da7db65b 100644 --- a/code/nel/src/misc/win_displayer.cpp +++ b/code/nel/src/misc/win_displayer.cpp @@ -18,10 +18,6 @@ #include "nel/misc/win_displayer.h" #ifdef NL_OS_WINDOWS -#ifndef NL_COMP_MINGW -# define NOMINMAX -#endif -#include #include #include #include @@ -30,6 +26,7 @@ #include #include +#include "nel/misc/app_context.h" #include "nel/misc/path.h" #include "nel/misc/command.h" #include "nel/misc/thread.h" @@ -45,6 +42,13 @@ namespace NLMISC { static CHARFORMAT2 CharFormat; +CWinDisplayer::CWinDisplayer(const char *displayerName) : CWindowDisplayer(displayerName), Exit(false) +{ + needSlashR = true; + createLabel("@Clear|CLEAR"); + + INelContext::getInstance().setWindowedApplication(true); +} CWinDisplayer::~CWinDisplayer () { diff --git a/code/nel/src/misc/win_event_emitter.cpp b/code/nel/src/misc/win_event_emitter.cpp index 01da89564..67e426f1e 100644 --- a/code/nel/src/misc/win_event_emitter.cpp +++ b/code/nel/src/misc/win_event_emitter.cpp @@ -22,10 +22,6 @@ #include "nel/misc/event_server.h" #ifdef NL_OS_WINDOWS -#ifndef NL_COMP_MINGW -#define NOMINMAX -#endif -#include #include /** diff --git a/code/nel/src/misc/words_dictionary.cpp b/code/nel/src/misc/words_dictionary.cpp index e2113e62d..4d5057dd7 100644 --- a/code/nel/src/misc/words_dictionary.cpp +++ b/code/nel/src/misc/words_dictionary.cpp @@ -251,7 +251,7 @@ void CWordsDictionary::exactLookupByKey( const CSString& key, CVectorSString& re */ inline CSString CWordsDictionary::makeResult( const CSString &key, const CSString &word ) { - return key + CSString(": ") + word; + return key + ": " + word.c_str(); } diff --git a/code/nel/src/net/service.cpp b/code/nel/src/net/service.cpp index f42806245..1f3436d1c 100644 --- a/code/nel/src/net/service.cpp +++ b/code/nel/src/net/service.cpp @@ -23,12 +23,6 @@ #ifdef NL_OS_WINDOWS // these defines is for IsDebuggerPresent(). it'll not compile on windows 95 // just comment this and the IsDebuggerPresent to compile on windows 95 -# define _WIN32_WINDOWS 0x0410 -# ifndef NL_COMP_MINGW -# define WINVER 0x0400 -# define NOMINMAX -# endif -# include # include #elif defined NL_OS_UNIX # include @@ -606,7 +600,7 @@ sint IService::main (const char *serviceShortName, const char *serviceLongName, ListeningPort = servicePort; - setReportEmailFunction ((void*)sendEmail); + // setReportEmailFunction ((void*)sendEmail); // setDefaultEmailParams ("gw.nevrax.com", "", "cado@nevrax.com"); diff --git a/code/nel/src/net/stdnet.h b/code/nel/src/net/stdnet.h index d18db3222..df2bc931d 100644 --- a/code/nel/src/net/stdnet.h +++ b/code/nel/src/net/stdnet.h @@ -17,7 +17,9 @@ #include "nel/misc/types_nl.h" #ifdef NL_OS_WINDOWS +# define _WIN32_WINDOWS 0x0410 # ifndef NL_COMP_MINGW +# define WINVER 0x0400 # define NOMINMAX # endif # include diff --git a/code/nel/src/pacs/local_retriever.cpp b/code/nel/src/pacs/local_retriever.cpp index 7158cee0a..c17709c70 100644 --- a/code/nel/src/pacs/local_retriever.cpp +++ b/code/nel/src/pacs/local_retriever.cpp @@ -2253,7 +2253,7 @@ bool NLPACS::CLocalRetriever::checkSurfaceIntegrity(uint surf, NLMISC::CVector t for (k=0; k+1(ochain[k], ochain[k+1])); + edges.push_back(std::pair(ochain[k], ochain[k+1])); } } } diff --git a/code/nel/src/sound/CMakeLists.txt b/code/nel/src/sound/CMakeLists.txt index 2cf570f69..6b0dc285d 100644 --- a/code/nel/src/sound/CMakeLists.txt +++ b/code/nel/src/sound/CMakeLists.txt @@ -86,6 +86,7 @@ NL_TARGET_LIB(nelsound ${HEADERS} ${SRC}) INCLUDE_DIRECTORIES(${VORBIS_INCLUDE_DIR}) +INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(nelsound ${VORBISFILE_LIBRARY} ${VORBIS_LIBRARY}) diff --git a/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/nel_3dsmax_shared.cpp b/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/nel_3dsmax_shared.cpp index da04de211..76592f556 100644 --- a/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/nel_3dsmax_shared.cpp +++ b/code/nel/tools/3d/plugin_max/nel_3dsmax_shared/nel_3dsmax_shared.cpp @@ -68,6 +68,7 @@ NEL_3DSMAX_SHARED_API NLMISC::INelContext &GetSharedNelContext() { new NLMISC::CApplicationContext(); NLMISC::createDebug(); + NLMISC::INelContext::getInstance().setWindowedApplication(true); } return NLMISC::INelContext::getInstance(); } diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export.rc b/code/nel/tools/3d/plugin_max/nel_export/nel_export.rc index 31a258fb9..e42b888ea 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export.rc +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export.rc @@ -575,8 +575,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 3, 0 - PRODUCTVERSION 0, 11, 3, 0 + FILEVERSION 0, 12, 0, 0 + PRODUCTVERSION 0, 12, 0, 0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -593,14 +593,14 @@ BEGIN BEGIN VALUE "Comments", "Based on Kinetix 3D Studio Max 3.0 plugin sample\0" VALUE "CompanyName", "Ryzom Core\0" - VALUE "FileVersion", "0.11.3\0" + VALUE "FileVersion", "0.12.0\0" VALUE "InternalName", "CNelExport\0" VALUE "LegalCopyright", "\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "CNelExport.dlu\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "Ryzom Core\0" - VALUE "ProductVersion", "0.11.3\0" + VALUE "ProductVersion", "0.12.0\0" VALUE "SpecialBuild", "\0" END END 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 7bc128706..c5457786e 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 @@ -957,6 +957,7 @@ protected: Value* force_quit_on_msg_displayer_cf(Value** arg_list, int count) { nlwarning("Enable force quit on NeL report msg displayer"); + NLMISC::INelContext::getInstance().setWindowedApplication(false); // 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"); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.rc b/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.rc index 068bddea0..50fc5a48d 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.rc +++ b/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.rc @@ -85,8 +85,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 3, 0 - PRODUCTVERSION 0, 11, 3, 0 + FILEVERSION 0, 12, 0, 0 + PRODUCTVERSION 0, 12, 0, 0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -103,12 +103,12 @@ BEGIN BEGIN VALUE "Comments", "http://www.ryzomcore.org/" VALUE "FileDescription", "PatchMesh to RykolPatchMesh" - VALUE "FileVersion", "0.11.3" + VALUE "FileVersion", "0.12.0" VALUE "InternalName", "PatchMesh to RykolPatchMesh" VALUE "LegalCopyright", "Copyright, 2000 Nevrax Ltd." VALUE "OriginalFilename", "nel_convert_patch.dlm" VALUE "ProductName", "NeL Patch Converter" - VALUE "ProductVersion", "0.11.3" + VALUE "ProductVersion", "0.12.0" END END BLOCK "VarFileInfo" diff --git a/code/nel/tools/3d/plugin_max/nel_patch_edit/mods.rc b/code/nel/tools/3d/plugin_max/nel_patch_edit/mods.rc index d49d40a82..c687fdd49 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_edit/mods.rc +++ b/code/nel/tools/3d/plugin_max/nel_patch_edit/mods.rc @@ -514,8 +514,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 3, 0 - PRODUCTVERSION 0, 11, 3, 0 + FILEVERSION 0, 12, 0, 0 + PRODUCTVERSION 0, 12, 0, 0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -533,13 +533,13 @@ BEGIN VALUE "Comments", "Based on Kinetix 3D Studio Max 3.0 plugin sample\0" VALUE "CompanyName", "Ryzom Core" VALUE "FileDescription", "NeL Patch Edit" - VALUE "FileVersion", "0.11.3" + VALUE "FileVersion", "0.12.0" VALUE "InternalName", "neleditpatch" VALUE "LegalCopyright", "Copyright © 2000 Nevrax Ltd. Copyright © 1998 Autodesk Inc." VALUE "LegalTrademarks", "The following are registered trademarks of Autodesk, Inc.: 3D Studio MAX. The following are trademarks of Autodesk, Inc.: Kinetix, Kinetix(logo), BIPED, Physique, Character Studio, MAX DWG, DWG Unplugged, Heidi, FLI, FLC, DXF." VALUE "OriginalFilename", "neleditpatch.dlm" VALUE "ProductName", "Ryzom Core" - VALUE "ProductVersion", "0.11.3" + VALUE "ProductVersion", "0.12.0" END END BLOCK "VarFileInfo" diff --git a/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.rc b/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.rc index 6b8d7f88e..0093248c4 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.rc +++ b/code/nel/tools/3d/plugin_max/nel_patch_paint/nel_patch_paint.rc @@ -96,8 +96,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 3, 0 - PRODUCTVERSION 0, 11, 3, 0 + FILEVERSION 0, 12, 0, 0 + PRODUCTVERSION 0, 12, 0, 0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -116,14 +116,14 @@ BEGIN VALUE "Comments", "TECH: cyril.corvazier\0" VALUE "CompanyName", "Ryzom Core\0" VALUE "FileDescription", "NeL Patch Paint\0" - VALUE "FileVersion", "0.11.3\0" + VALUE "FileVersion", "0.12.0\0" VALUE "InternalName", "mods\0" VALUE "LegalCopyright", "Copyright © 2000 Nevrax Ltd\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "nelpatchpaint.dlm\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "Ryzom Core\0" - VALUE "ProductVersion", "0.11.3\0" + VALUE "ProductVersion", "0.12.0\0" VALUE "SpecialBuild", "\0" END END diff --git a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.rc b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.rc index 8620d6170..fdf00449c 100644 --- a/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.rc +++ b/code/nel/tools/3d/plugin_max/nel_vertex_tree_paint/vertex_tree_paint.rc @@ -125,8 +125,8 @@ IDC_DROPPER_CURSOR CURSOR DISCARDABLE "dropcurs.cur" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 3, 0 - PRODUCTVERSION 0, 11, 3, 0 + FILEVERSION 0, 12, 0, 0 + PRODUCTVERSION 0, 12, 0, 0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -145,13 +145,13 @@ BEGIN VALUE "Comments", "TECH: \0" VALUE "CompanyName", "Ryzom Core\0" VALUE "FileDescription", "Vertex Tree Paint\0" - VALUE "FileVersion", "0.11.3\0" + VALUE "FileVersion", "0.12.0\0" VALUE "InternalName", "VertexTreePaint\0" VALUE "LegalCopyright", "Copyright © 2000 Nevrax Ltd. Copyright © 1998 Autodesk Inc.\0" VALUE "LegalTrademarks", "The following are registered trademarks of Autodesk, Inc.: 3D Studio MAX. The following are trademarks of Autodesk, Inc.: Kinetix, Kinetix(logo), BIPED, Physique, Character Studio, MAX DWG, DWG Unplugged, Heidi, FLI, FLC, DXF.\0" VALUE "OriginalFilename", "nel_vertex_tree_paint.dlm\0" VALUE "ProductName", "Ryzom Core\0" - VALUE "ProductVersion", "0.11.3\0" + VALUE "ProductVersion", "0.12.0\0" END END BLOCK "VarFileInfo" diff --git a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.rc b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.rc index 315747354..cec8df28b 100644 --- a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.rc +++ b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.rc @@ -124,8 +124,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 3, 0 - PRODUCTVERSION 0, 11, 3, 0 + FILEVERSION 0, 12, 0, 0 + PRODUCTVERSION 0, 12, 0, 0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -142,12 +142,12 @@ BEGIN BEGIN VALUE "Comments", "Based on Kinetix 3D Studio Max 3.0 plugin sample\0" VALUE "CompanyName", "Ryzom Core\0" - VALUE "FileVersion", "0.11.3\0" + VALUE "FileVersion", "0.12.0\0" VALUE "InternalName", "Tile_utility\0" VALUE "LegalCopyright", "\0" VALUE "OriginalFilename", "Tile_utility.dlu\0" VALUE "ProductName", "Ryzom Core\0" - VALUE "ProductVersion", "0.11.3\0" + VALUE "ProductVersion", "0.12.0\0" VALUE "FileDescription", "Create material for tiles\0" VALUE "Comments", "TECH: \0" VALUE "LegalTrademarks", "\0" diff --git a/code/nel/tools/3d/tga_2_dds/tga2dds.cpp b/code/nel/tools/3d/tga_2_dds/tga2dds.cpp index 292280349..34b47735f 100644 --- a/code/nel/tools/3d/tga_2_dds/tga2dds.cpp +++ b/code/nel/tools/3d/tga_2_dds/tga2dds.cpp @@ -359,6 +359,27 @@ void dividSize (CBitmap &bitmap) } } +const int bayerDiv8R[4][4] = { + 7, 3, 6, 2, + 1, 5, 0, 4, + 6, 2, 7, 3, + 0, 4, 1, 5, +}; + +const int bayerDiv8G[4][4] = { + 0, 4, 1, 5, + 6, 2, 7, 3, + 1, 5, 0, 4, + 7, 3, 6, 2, +}; + +const int bayerDiv8B[4][4] = { + 5, 1, 4, 0, + 3, 7, 2, 6, + 4, 0, 5, 1, + 2, 6, 3, 7, +}; + // *************************************************************************** int main(int argc, char **argv) { @@ -601,6 +622,26 @@ int main(int argc, char **argv) Reduce--; } + if (algo == TGA16) + { + // Apply bayer dither + CObjectVector &rgba = picSrc.getPixels(0); + const uint32 w = picSrc.getWidth(0); + uint32 x = 0; + uint32 y = 0; + for (uint32 i = 0; i < rgba.size(); i += 4) + { + NLMISC::CRGBA &c = reinterpret_cast(rgba[i]); + c.R = (uint8)std::min(255, (int)c.R + bayerDiv8R[x % 4][y % 4]); + c.G = (uint8)std::min(255, (int)c.G + bayerDiv8G[x % 4][y % 4]); + c.B = (uint8)std::min(255, (int)c.B + bayerDiv8B[x % 4][y % 4]); + ++x; + x %= w; + if (x == 0) + ++y; + } + } + // 8 or 16 bits TGA or PNG ? if ((algo == TGA16) || (algo == TGA8) || (algo == PNG16) || (algo == PNG8)) { diff --git a/code/nel/tools/misc/CMakeLists.txt b/code/nel/tools/misc/CMakeLists.txt index 5386cbbc6..c9bbcd058 100644 --- a/code/nel/tools/misc/CMakeLists.txt +++ b/code/nel/tools/misc/CMakeLists.txt @@ -3,6 +3,7 @@ SUBDIRS(bnp_make disp_sheet_id extract_filename lock make_sheet_id xml_packer) IF(WITH_QT) ADD_SUBDIRECTORY(words_dic_qt) ADD_SUBDIRECTORY(message_box_qt) + ADD_SUBDIRECTORY(crash_report) ENDIF(WITH_QT) IF(WIN32) diff --git a/code/nel/tools/misc/crash_report/CMakeLists.txt b/code/nel/tools/misc/crash_report/CMakeLists.txt new file mode 100644 index 000000000..0e2d2a9bc --- /dev/null +++ b/code/nel/tools/misc/crash_report/CMakeLists.txt @@ -0,0 +1,39 @@ +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SRC_DIR} ${QT_INCLUDES}) +FILE(GLOB CRASHREPORT_SRC *.cpp) +FILE(GLOB CRASHREPORT_HDR *h) + +SET(CRASHREPORT_MOC_HDR +crash_report_socket.h +crash_report_widget.h +) + +SET(CRASHREPORT_UI +crash_report_widget.ui +) + +SET(QT_USE_QTGUI TRUE) +SET(QT_USE_QTNETWORK TRUE) +SET(QT_USE_QTMAIN TRUE) +SET(QT_USE_QTOPENGL FALSE) +SET(QT_USE_QTXML FALSE) + +INCLUDE(${QT_USE_FILE}) +ADD_DEFINITIONS(${QT_DEFINITIONS}) + +QT4_WRAP_CPP(CRASHREPORT_MOC_SRC ${CRASHREPORT_MOC_HDR}) +QT4_WRAP_UI(CRASHREPORT_UI_HDR ${CRASHREPORT_UI}) + +SOURCE_GROUP(QtResources FILES ${CRASHREPORT_UI}) +SOURCE_GROUP(QtGeneratedUiHdr FILES ${CRASHREPORT_UI_HDR}) +SOURCE_GROUP(QtGeneratedMocQrcSrc FILES ${CRASHREPORT_MOC_SRC}) +SOURCE_GROUP("source files" FILES ${CRASHREPORT_SRC}) +SOURCE_GROUP("header files" FILES ${CRASHREPORT_HDR}) + +ADD_EXECUTABLE(crash_report WIN32 MACOSX_BUNDLE ${CRASHREPORT_SRC} ${CRASHREPORT_MOC_HDR} ${CRASHREPORT_MOC_SRC} ${CRASHREPORT_UI_HDR}) +TARGET_LINK_LIBRARIES(crash_report ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY}) + +NL_DEFAULT_PROPS(crash_report "NeL, Tools, Misc: Crash Report") +NL_ADD_RUNTIME_FLAGS(crash_report) + +INSTALL(TARGETS crash_report RUNTIME DESTINATION ${NL_BIN_PREFIX}) + diff --git a/code/nel/tools/misc/crash_report/crash_report.cpp b/code/nel/tools/misc/crash_report/crash_report.cpp new file mode 100644 index 000000000..c42f1ae6f --- /dev/null +++ b/code/nel/tools/misc/crash_report/crash_report.cpp @@ -0,0 +1,111 @@ +// Nel MMORPG framework - Error Reporter +// +// Copyright (C) 2015 Laszlo Kis-Adam +// Copyright (C) 2010 Ryzom Core +// +// 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 . + + +#include "crash_report_widget.h" +#include +#include + +#include +#include +#include + +class CCmdLineParser +{ +public: + static void parse( int argc, char **argv, std::vector< std::pair< std::string, std::string > > &v ) + { + std::stack< std::string > stack; + std::string key; + std::string value; + + for( int i = argc - 1 ; i >= 0; i-- ) + { + stack.push( std::string( argv[ i ] ) ); + } + + while( !stack.empty() ) + { + key = stack.top(); + stack.pop(); + + // If not a real parameter ( they start with '-' ), discard. + if( key[ 0 ] != '-' ) + continue; + + // Remove the '-' + key = key.substr( 1 ); + + // No more parameters + if( stack.empty() ) + { + v.push_back( std::make_pair( key, "" ) ); + break; + } + + value = stack.top(); + + // If next parameter is a key, process it in the next iteration + if( value[ 0 ] == '-' ) + { + v.push_back( std::make_pair( key, "" ) ); + continue; + } + // Otherwise store the pair + else + { + v.push_back( std::make_pair( key, value ) ); + stack.pop(); + } + } + } +}; + +int main( int argc, char **argv ) +{ +#ifndef WIN32 + // Workaround to default -style=gtk+ on recent Cinnamon versions + char *currentDesktop = getenv("XDG_CURRENT_DESKTOP"); + if (currentDesktop) + { + printf("XDG_CURRENT_DESKTOP: %s\n", currentDesktop); + if (!strcmp(currentDesktop, "X-Cinnamon")) + { + setenv("XDG_CURRENT_DESKTOP", "gnome", 1); + } + } +#endif + + QApplication app( argc, argv ); + + std::vector< std::pair< std::string, std::string > > params; + + CCmdLineParser::parse( argc, argv, params ); + + CCrashReportWidget w; + w.setup( params ); + w.show(); + + int ret = app.exec(); + + if( ret != EXIT_SUCCESS ) + return ret; + else + return w.getReturnValue(); + +} \ No newline at end of file diff --git a/code/nel/tools/misc/crash_report/crash_report_data.h b/code/nel/tools/misc/crash_report/crash_report_data.h new file mode 100644 index 000000000..5884e7eb4 --- /dev/null +++ b/code/nel/tools/misc/crash_report/crash_report_data.h @@ -0,0 +1,33 @@ +// Ryzom Core MMORPG framework - Error Reporter +// +// Copyright (C) 2015 Laszlo Kis-Adam +// Copyright (C) 2010 Ryzom Core +// +// 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 . + + +#ifndef RCERROR_DATA +#define RCERROR_DATA + +#include + + +struct SCrashReportData +{ + QString description; + QString report; + QString email; +}; + +#endif diff --git a/code/nel/tools/misc/crash_report/crash_report_socket.cpp b/code/nel/tools/misc/crash_report/crash_report_socket.cpp new file mode 100644 index 000000000..f2a14e84b --- /dev/null +++ b/code/nel/tools/misc/crash_report/crash_report_socket.cpp @@ -0,0 +1,78 @@ +// Nel MMORPG framework - Error Reporter +// +// Copyright (C) 2015 Laszlo Kis-Adam +// Copyright (C) 2010 Ryzom Core +// +// 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 . + +#include "crash_report_socket.h" +#include +#include +#include +#include +#if QT_VERSION >= QT_VERSION_CHECK(5,0,0) +# include +#endif + +class CCrashReportSocketPvt +{ +public: + QNetworkAccessManager mgr; +}; + +CCrashReportSocket::CCrashReportSocket( QObject *parent ) : +QObject( parent ) +{ + m_pvt = new CCrashReportSocketPvt(); + + connect( &m_pvt->mgr, SIGNAL( finished( QNetworkReply* ) ), this, SLOT( onFinished( QNetworkReply* ) ) ); +} + +CCrashReportSocket::~CCrashReportSocket() +{ + delete m_pvt; +} + +void CCrashReportSocket::sendReport( const SCrashReportData &data ) +{ +#if QT_VERSION >= QT_VERSION_CHECK(5,0,0) + QUrlQuery params; +#else + QUrl params; +#endif + params.addQueryItem( "report", data.report ); + params.addQueryItem( "descr", data.description ); + params.addQueryItem("email", data.email); + + QUrl url( m_url ); + QNetworkRequest request( url ); + request.setRawHeader( "Connection", "close" ); + +#if QT_VERSION >= QT_VERSION_CHECK(5,0,0) + QByteArray postData = params.query(QUrl::FullyEncoded).toUtf8(); +#else + QByteArray postData = params.encodedQuery(); +#endif + + m_pvt->mgr.post(request, postData); +} + +void CCrashReportSocket::onFinished( QNetworkReply *reply ) +{ + if( reply->error() != QNetworkReply::NoError ) + Q_EMIT reportFailed(); + else + Q_EMIT reportSent(); +} + diff --git a/code/nel/tools/misc/crash_report/crash_report_socket.h b/code/nel/tools/misc/crash_report/crash_report_socket.h new file mode 100644 index 000000000..32ccc5da0 --- /dev/null +++ b/code/nel/tools/misc/crash_report/crash_report_socket.h @@ -0,0 +1,55 @@ +// Nel MMORPG framework - Error Reporter +// +// Copyright (C) 2015 Laszlo Kis-Adam +// Copyright (C) 2010 Ryzom Core +// +// 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 . + + +#ifndef RCERROR_SOCKET +#define RCERROR_SOCKET + +#include +#include "crash_report_data.h" + +class CCrashReportSocketPvt; +class QNetworkReply; + +class CCrashReportSocket : public QObject +{ + Q_OBJECT + +public: + CCrashReportSocket( QObject *parent ); + ~CCrashReportSocket(); + + void setURL( const char *URL ){ m_url = URL; } + QString url() const{ return m_url; } + + void sendReport( const SCrashReportData &data ); + +Q_SIGNALS: + void reportSent(); + void reportFailed(); + +private Q_SLOTS: + void onFinished( QNetworkReply *reply ); + +private: + CCrashReportSocketPvt *m_pvt; + QString m_url; +}; + +#endif + diff --git a/code/nel/tools/misc/crash_report/crash_report_widget.cpp b/code/nel/tools/misc/crash_report/crash_report_widget.cpp new file mode 100644 index 000000000..218b3545c --- /dev/null +++ b/code/nel/tools/misc/crash_report/crash_report_widget.cpp @@ -0,0 +1,301 @@ +// Nel MMORPG framework - Error Reporter +// +// Copyright (C) 2015 Laszlo Kis-Adam +// Copyright (C) 2010 Ryzom Core +// +// 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 . + + +#include "crash_report_widget.h" +#include "crash_report_socket.h" +#include "crash_report_data.h" +#include +#include +#include +#include +#include +#include +#include +#include + +CCrashReportWidget::CCrashReportWidget( QWidget *parent ) : +QWidget( parent ) +{ + m_developerMode = false; + m_forceSend = false; + m_devSendReport = false; + m_returnValue = ERET_NULL; + + m_ui.setupUi( this ); + + m_socket = new CCrashReportSocket( this ); + + QTimer::singleShot( 1, this, SLOT( onLoad() ) ); + + connect( m_ui.emailCB, SIGNAL( stateChanged( int ) ), this, SLOT( onCBClicked() ) ); + + connect( m_socket, SIGNAL( reportSent() ), this, SLOT( onReportSent() ) ); + connect( m_socket, SIGNAL( reportFailed() ), this, SLOT( onReportFailed() ) ); +} + +CCrashReportWidget::~CCrashReportWidget() +{ + m_socket = NULL; +} + +void CCrashReportWidget::setup( const std::vector< std::pair< std::string, std::string > > ¶ms ) +{ + for( int i = 0; i < params.size(); i++ ) + { + const std::pair< std::string, std::string > &p = params[ i ]; + const std::string &k = p.first; + const std::string &v = p.second; + + if( k == "log" ) + { + m_fileName = v.c_str(); + if( !QFile::exists( m_fileName ) ) + m_fileName.clear(); + } + else + if( k == "host" ) + { + m_socket->setURL( v.c_str() ); + } + else + if( k == "title" ) + { + setWindowTitle( v.c_str() ); + } + else + if( k == "dev" ) + { + m_developerMode = true; + } + else + if( k == "sendreport" ) + { + m_forceSend = true; + } + } + + if( m_fileName.isEmpty() ) + { + m_ui.reportLabel->hide(); + m_ui.reportEdit->hide(); + } + + + if( m_socket->url().isEmpty() || m_fileName.isEmpty() ) + { + m_ui.descriptionEdit->hide(); + m_ui.emailCB->hide(); + m_ui.emailEdit->hide(); + m_ui.descrLabel->hide(); + } + + QHBoxLayout *hbl = new QHBoxLayout( this ); + + if( m_developerMode ) + { + if( !m_socket->url().isEmpty() && !m_fileName.isEmpty() ) + { + m_ui.emailCB->setEnabled( false ); + + QCheckBox *cb = new QCheckBox( tr( "Send report" ), this ); + m_ui.gridLayout->addWidget( cb, 4, 0, 1, 1 ); + + m_ui.gridLayout->addWidget( m_ui.emailCB, 5, 0, 1, 1 ); + m_ui.gridLayout->addWidget( m_ui.emailEdit, 6, 0, 1, 1 ); + + connect(cb, SIGNAL(stateChanged(int)), this, SLOT(onSendCBClicked())); + if (m_forceSend) + cb->setChecked(true); + } + + hbl->addStretch(); + + QPushButton *alwaysIgnoreButton = new QPushButton( tr( "Always Ignore" ), this ); + QPushButton *ignoreButton = new QPushButton( tr( "Ignore" ), this ); + QPushButton *abortButton = new QPushButton( tr( "Abort" ), this ); + QPushButton *breakButton = new QPushButton(tr("Break"), this); + breakButton->setAutoDefault(true); + + hbl->addWidget( alwaysIgnoreButton ); + hbl->addWidget( ignoreButton ); + hbl->addWidget( abortButton ); + hbl->addWidget( breakButton ); + + m_ui.gridLayout->addLayout( hbl, 7, 0, 1, 3 ); + + connect( alwaysIgnoreButton, SIGNAL( clicked( bool ) ), this, SLOT( onAlwaysIgnoreClicked() ) ); + connect( ignoreButton, SIGNAL( clicked( bool ) ), this, SLOT( onIgnoreClicked() ) ); + connect( abortButton, SIGNAL( clicked( bool ) ), this, SLOT( onAbortClicked() ) ); + connect( breakButton, SIGNAL( clicked( bool ) ), this, SLOT( onBreakClicked() ) ); + } + else + { + hbl->addStretch(); + + // If -host is specified, offer the send function + if( !m_socket->url().isEmpty() && !m_fileName.isEmpty() ) + { + if (!m_forceSend) + { + QPushButton *cancelButton = new QPushButton(tr("Don't send report"), this); + connect(cancelButton, SIGNAL(clicked(bool)), this, SLOT(onCancelClicked())); + hbl->addWidget(cancelButton); + } + + QPushButton *sendButton = new QPushButton( tr( "Send report" ), this ); + sendButton->setAutoDefault(true); + connect( sendButton, SIGNAL( clicked( bool ) ), this, SLOT( onSendClicked() ) ); + hbl->addWidget( sendButton ); + } + // Otherwise only offer exit + else + { + QPushButton *exitButton = new QPushButton( tr( "Exit" ), this ); + connect( exitButton, SIGNAL( clicked( bool ) ), this, SLOT( onCancelClicked() ) ); + hbl->addWidget(exitButton); + exitButton->setAutoDefault(true); + } + + m_ui.gridLayout->addLayout( hbl, 6, 0, 1, 3 ); + } +} + +void CCrashReportWidget::onLoad() +{ + if( m_fileName.isEmpty() ) + return; + + QFile f( m_fileName ); + bool b = f.open( QFile::ReadOnly | QFile::Text ); + if( !b ) + { + m_fileName.clear(); + return; + } + + QTextStream ss( &f ); + m_ui.reportEdit->setPlainText( ss.readAll() ); + f.close(); +} + +void CCrashReportWidget::onSendClicked() +{ + if( m_developerMode && !m_devSendReport ) + { + close(); + return; + } + + if( m_socket->url().isEmpty() || m_fileName.isEmpty() ) + { + close(); + return; + } + + QApplication::setOverrideCursor( Qt::WaitCursor ); + + SCrashReportData data; + data.description = m_ui.descriptionEdit->toPlainText(); + data.report = m_ui.reportEdit->toPlainText(); + + if( m_ui.emailCB->isChecked() ) + data.email = m_ui.emailEdit->text(); + + m_socket->sendReport( data ); +} + +void CCrashReportWidget::onCancelClicked() +{ + removeAndQuit(); +} + +void CCrashReportWidget::onCBClicked() +{ + m_ui.emailEdit->setEnabled( m_ui.emailCB->isChecked() ); +} + +void CCrashReportWidget::onSendCBClicked() +{ + bool b = m_ui.emailCB->isEnabled(); + + if( b ) + { + m_ui.emailCB->setChecked( false ); + } + + m_ui.emailCB->setEnabled( !b ); + + m_devSendReport = !m_devSendReport; +} + +void CCrashReportWidget::onAlwaysIgnoreClicked() +{ + m_returnValue = ERET_ALWAYS_IGNORE; + onSendClicked(); +} + +void CCrashReportWidget::onIgnoreClicked() +{ + m_returnValue = ERET_IGNORE; + onSendClicked(); +} + +void CCrashReportWidget::onAbortClicked() +{ + m_returnValue = ERET_ABORT; + onSendClicked(); +} + +void CCrashReportWidget::onBreakClicked() +{ + m_returnValue = ERET_BREAK; + onSendClicked(); +} + + +void CCrashReportWidget::onReportSent() +{ + QApplication::setOverrideCursor( Qt::ArrowCursor ); + + QMessageBox::information( this, + tr( "Report sent" ), + tr( "The report has been sent." ) ); + + removeAndQuit(); +} + +void CCrashReportWidget::onReportFailed() +{ + QApplication::setOverrideCursor( Qt::ArrowCursor ); + + QMessageBox::information( this, + tr( "Report failed" ), + tr( "Failed to send the report..." ) ); + + removeAndQuit(); +} + +void CCrashReportWidget::removeAndQuit() +{ + if( !m_fileName.isEmpty() ) + QFile::remove( m_fileName ); + + close(); +} + diff --git a/code/nel/tools/misc/crash_report/crash_report_widget.h b/code/nel/tools/misc/crash_report/crash_report_widget.h new file mode 100644 index 000000000..f40e40854 --- /dev/null +++ b/code/nel/tools/misc/crash_report/crash_report_widget.h @@ -0,0 +1,82 @@ +// Nel MMORPG framework - Error Reporter +// +// Copyright (C) 2015 Laszlo Kis-Adam +// Copyright (C) 2010 Ryzom Core +// +// 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 . + + +#ifndef RCERROR_WIDGET +#define RCERROR_WIDGET + + +#include "ui_crash_report_widget.h" +#include +#include + +class CCrashReportSocket; + +class CCrashReportWidget : public QWidget +{ + Q_OBJECT +public: + + enum EReturnValue + { + ERET_NULL = 0, + ERET_ALWAYS_IGNORE = 21, + ERET_IGNORE = 22, + ERET_ABORT = 23, + ERET_BREAK = 24 + }; + + CCrashReportWidget( QWidget *parent = NULL ); + ~CCrashReportWidget(); + + void setFileName( const char *fn ){ m_fileName = fn; } + + void setup( const std::vector< std::pair< std::string, std::string > > ¶ms ); + + EReturnValue getReturnValue() const{ return m_returnValue; } + +private Q_SLOTS: + void onLoad(); + void onSendClicked(); + void onCancelClicked(); + void onCBClicked(); + void onSendCBClicked(); + + void onAlwaysIgnoreClicked(); + void onIgnoreClicked(); + void onAbortClicked(); + void onBreakClicked(); + + void onReportSent(); + void onReportFailed(); + +private: + void removeAndQuit(); + + Ui::CrashReportWidget m_ui; + QString m_fileName; + CCrashReportSocket *m_socket; + bool m_developerMode; + bool m_forceSend; + bool m_devSendReport; + + EReturnValue m_returnValue; +}; + +#endif + diff --git a/code/nel/tools/misc/crash_report/crash_report_widget.ui b/code/nel/tools/misc/crash_report/crash_report_widget.ui new file mode 100644 index 000000000..da1e38618 --- /dev/null +++ b/code/nel/tools/misc/crash_report/crash_report_widget.ui @@ -0,0 +1,68 @@ + + + CrashReportWidget + + + Qt::ApplicationModal + + + + 0 + 0 + 406 + 430 + + + + NeL report + + + + + + What were you doing when the crash occured? + + + + + + + Contents of the report ( automatically generated ) + + + + + + + + + + Email me if you have further questions, or updates on this issue + + + + + + + false + + + Enter your email address here + + + + + + + true + + + Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + + + + + + + diff --git a/code/nel/tools/misc/make_sheet_id/make_sheet_id.cpp b/code/nel/tools/misc/make_sheet_id/make_sheet_id.cpp index 53d515fdd..851dfe6df 100644 --- a/code/nel/tools/misc/make_sheet_id/make_sheet_id.cpp +++ b/code/nel/tools/misc/make_sheet_id/make_sheet_id.cpp @@ -163,7 +163,7 @@ void readFormId( string& outputFileName ) map::iterator itFT = FileTypeToId.find(fileType); if( itFT == FileTypeToId.end() ) { - FileTypeToId.insert( make_pair(fileType,fid.FormIDInfos.Type) ); + FileTypeToId.insert( std::pair(fileType,fid.FormIDInfos.Type) ); } } else diff --git a/code/nel/tools/misc/xml_packer/xml_packer.cpp b/code/nel/tools/misc/xml_packer/xml_packer.cpp index 6f82b5426..2d7695de4 100644 --- a/code/nel/tools/misc/xml_packer/xml_packer.cpp +++ b/code/nel/tools/misc/xml_packer/xml_packer.cpp @@ -379,7 +379,7 @@ int main(int argc, char *argv[]) CSString subFileName = parser.leftCrop(sizeof(" (i, fi)); + faultyInstances.insert(std::pair(i, fi)); } } @@ -1046,7 +1046,7 @@ void processGlobalRetriever() { if (Verbose) nlinfo("after fix: unlink: %s", unlinkstr.c_str()); - faultyInstances.insert(make_pair(i, fi)); + faultyInstances.insert(std::pair(i, fi)); } } } diff --git a/code/nel/tools/pacs/build_rbank/build_surf.cpp b/code/nel/tools/pacs/build_rbank/build_surf.cpp index 9546e19f1..10d4c6a19 100644 --- a/code/nel/tools/pacs/build_rbank/build_surf.cpp +++ b/code/nel/tools/pacs/build_rbank/build_surf.cpp @@ -201,8 +201,7 @@ template class CHashPtr { public: - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; typedef A *ptrA; size_t operator() (const ptrA &a) const diff --git a/code/ryzom/client/src/CMakeLists.txt b/code/ryzom/client/src/CMakeLists.txt index 7890b188b..ac32bcbf5 100644 --- a/code/ryzom/client/src/CMakeLists.txt +++ b/code/ryzom/client/src/CMakeLists.txt @@ -90,6 +90,7 @@ INCLUDE_DIRECTORIES( ${LUABIND_INCLUDE_DIR} ${LIBWWW_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} + ${ZLIB_INCLUDE_DIR} ) TARGET_LINK_LIBRARIES(ryzom_client diff --git a/code/ryzom/client/src/actions.h b/code/ryzom/client/src/actions.h index cdc3f200a..b177c1818 100644 --- a/code/ryzom/client/src/actions.h +++ b/code/ryzom/client/src/actions.h @@ -281,8 +281,7 @@ public: // HashMapTraits for NLMISC::TKey struct CTKeyHashMapTraits { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; CTKeyHashMapTraits() { } size_t operator() (NLMISC::TKey key) const { diff --git a/code/ryzom/client/src/bug_report/bug_reportDlg.cpp b/code/ryzom/client/src/bug_report/bug_reportDlg.cpp index 21ab0cfb4..fce9975d0 100644 --- a/code/ryzom/client/src/bug_report/bug_reportDlg.cpp +++ b/code/ryzom/client/src/bug_report/bug_reportDlg.cpp @@ -389,8 +389,8 @@ END_MESSAGE_MAP() BOOL CBug_reportDlg::OnInitDialog() { - setReportEmailFunction ((void*)sendEmail); - setDefaultEmailParams ("gw.nevrax.com", "", "lecroart@nevrax.com"); + // setReportEmailFunction ((void*)sendEmail); + // setDefaultEmailParams ("gw.nevrax.com", "", "lecroart@nevrax.com"); CDialog::OnInitDialog(); diff --git a/code/ryzom/client/src/client.cpp b/code/ryzom/client/src/client.cpp index fb6e2dca5..d3bb5254e 100644 --- a/code/ryzom/client/src/client.cpp +++ b/code/ryzom/client/src/client.cpp @@ -365,6 +365,8 @@ int main(int argc, char **argv) createDebug(); + INelContext::getInstance().setWindowedApplication(true); + #ifndef NL_DEBUG INelContext::getInstance().getDebugLog()->removeDisplayer("DEFAULT_SD"); INelContext::getInstance().getInfoLog()->removeDisplayer("DEFAULT_SD"); @@ -434,9 +436,9 @@ int main(int argc, char **argv) // Set default email value for reporting error #ifdef TEST_CRASH_COUNTER - //initCrashReport (); - setReportEmailFunction ((void*)sendEmail); - setDefaultEmailParams ("smtp.nevrax.com", "", "hulud@nevrax.com"); + // initCrashReport (); + // setReportEmailFunction ((void*)sendEmail); + // setDefaultEmailParams ("smtp.nevrax.com", "", "hulud@nevrax.com"); if (string(cmdline) == "/crash") volatile int toto = *(int*)0; diff --git a/code/ryzom/client/src/client_chat_manager.cpp b/code/ryzom/client/src/client_chat_manager.cpp index bac2abf1e..141edea27 100644 --- a/code/ryzom/client/src/client_chat_manager.cpp +++ b/code/ryzom/client/src/client_chat_manager.cpp @@ -1204,7 +1204,7 @@ class CHandlerTell : public IActionHandler ucstring s = CI18N::get("youTellPlayer"); strFindReplace(s, "%name", receiver); strFindReplace(finalMsg, CI18N::get("youTell"), s); - CInterfaceManager::getInstance()->log(finalMsg); + CInterfaceManager::getInstance()->log(finalMsg, CChatGroup::groupTypeToString(CChatGroup::tell)); } }; REGISTER_ACTION_HANDLER( CHandlerTell, "tell"); diff --git a/code/ryzom/client/src/connection.cpp b/code/ryzom/client/src/connection.cpp index 92ecff0ac..3f3a3d809 100644 --- a/code/ryzom/client/src/connection.cpp +++ b/code/ryzom/client/src/connection.cpp @@ -103,7 +103,6 @@ extern uint32 Version; // Client Version. extern UDriver *Driver; extern UTextContext *TextContext; extern bool game_exit; -extern CMsgBoxDisplayer MsgBoxError; extern CSoundManager *SoundMngr; diff --git a/code/ryzom/client/src/http_client_curl.cpp b/code/ryzom/client/src/http_client_curl.cpp index db830a9df..008bef19a 100644 --- a/code/ryzom/client/src/http_client_curl.cpp +++ b/code/ryzom/client/src/http_client_curl.cpp @@ -15,7 +15,6 @@ // along with this program. If not, see . #include "stdpch.h" -#define CURL_STATICLIB 1 #include #include "http_client_curl.h" diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index ed7943b8f..a6883eacd 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -142,7 +142,6 @@ using namespace std; // Ligo primitive class CLigoConfig LigoConfig; -CMsgBoxDisplayer MsgBoxError; CClientChatManager ChatMngr; bool LastScreenSaverEnabled = false; @@ -568,7 +567,7 @@ void listStereoDisplayDevices(std::vector &devices) std::stringstream name; name << IStereoDisplay::getLibraryName(it->Library) << " - " << it->Manufacturer << " - " << it->ProductName; std::stringstream fullname; - fullname << std::string("[") << name << "] [" << it->Serial << "]"; + fullname << std::string("[") << name.str() << "] [" << it->Serial << "]"; nlinfo("VR [C]: Stereo Display: %s", name.str().c_str()); if (cache) { @@ -847,8 +846,8 @@ void prelogInit() FPU_CHECKER_ONCE // Set default email value for reporting error - setReportEmailFunction ((void*)sendEmail); - setDefaultEmailParams ("smtp.nevrax.com", "", "ryzombug@nevrax.com"); + // setReportEmailFunction ((void*)sendEmail); + // setDefaultEmailParams ("smtp.nevrax.com", "", "ryzombug@nevrax.com"); // create the save dir. if (!CFile::isExists("save")) CFile::createDirectory("save"); diff --git a/code/ryzom/client/src/interface_v3/chat_window.cpp b/code/ryzom/client/src/interface_v3/chat_window.cpp index 54831680b..0bb192fc5 100644 --- a/code/ryzom/client/src/interface_v3/chat_window.cpp +++ b/code/ryzom/client/src/interface_v3/chat_window.cpp @@ -483,7 +483,7 @@ void CChatWindow::displayLocalPlayerTell(const ucstring &receiver, const ucstrin strFindReplace(s, "%name", receiver); strFindReplace(finalMsg, CI18N::get("youTell"), s); displayMessage(finalMsg, prop.getRGBA(), CChatGroup::tell, 0, numBlinks); - CInterfaceManager::getInstance()->log(finalMsg); + CInterfaceManager::getInstance()->log(finalMsg, CChatGroup::groupTypeToString(CChatGroup::tell)); } void CChatWindow::encodeColorTag(const NLMISC::CRGBA &color, ucstring &text, bool append) diff --git a/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp index fe7f20e1f..68ceb7bf0 100644 --- a/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp +++ b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp @@ -333,29 +333,29 @@ bool CCtrlSheetInfo::parseCtrlInfo(xmlNodePtr cur, CInterfaceGroup * /* parentGr prop = (char*) xmlGetProp( cur, (xmlChar*)"nature" ); if (prop) { - if (NLMISC::strlwr(prop) == "item") + if (NLMISC::strlwr(prop.str()) == "item") _Type = CCtrlSheetInfo::SheetType_Item; - else if (NLMISC::strlwr(prop) == "pact") + else if (NLMISC::strlwr(prop.str()) == "pact") _Type = CCtrlSheetInfo::SheetType_Pact; - else if (NLMISC::strlwr(prop) == "skill") + else if (NLMISC::strlwr(prop.str()) == "skill") _Type = CCtrlSheetInfo::SheetType_Skill; - else if (NLMISC::strlwr(prop) == "auto") + else if (NLMISC::strlwr(prop.str()) == "auto") _Type = CCtrlSheetInfo::SheetType_Auto; - else if (NLMISC::strlwr(prop) == "macro") + else if (NLMISC::strlwr(prop.str()) == "macro") _Type = CCtrlSheetInfo::SheetType_Macro; - else if (NLMISC::strlwr(prop) == "guild_flag") + else if (NLMISC::strlwr(prop.str()) == "guild_flag") _Type = CCtrlSheetInfo::SheetType_GuildFlag; - else if (NLMISC::strlwr(prop) == "mission") + else if (NLMISC::strlwr(prop.str()) == "mission") _Type = CCtrlSheetInfo::SheetType_Mission; - else if (NLMISC::strlwr(prop) == "sbrick") + else if (NLMISC::strlwr(prop.str()) == "sbrick") _Type = CCtrlSheetInfo::SheetType_SBrick; - else if (NLMISC::strlwr(prop) == "sphraseid") + else if (NLMISC::strlwr(prop.str()) == "sphraseid") _Type = CCtrlSheetInfo::SheetType_SPhraseId; - else if (NLMISC::strlwr(prop) == "sphrase") + else if (NLMISC::strlwr(prop.str()) == "sphrase") _Type = CCtrlSheetInfo::SheetType_SPhrase; - else if (NLMISC::strlwr(prop) == "elevator_destination") + else if (NLMISC::strlwr(prop.str()) == "elevator_destination") _Type = CCtrlSheetInfo::SheetType_ElevatorDestination; - else if (NLMISC::strlwr(prop) == "outpost_building") + else if (NLMISC::strlwr(prop.str()) == "outpost_building") _Type = CCtrlSheetInfo::SheetType_OutpostBuilding; } @@ -468,7 +468,7 @@ bool CCtrlSheetInfo::parseCtrlInfo(xmlNodePtr cur, CInterfaceGroup * /* parentGr prop = (char*) xmlGetProp( cur, (xmlChar*)"item_slot" ); if(prop) { - string str= prop; + string str= prop.str(); _ItemSlot= SLOTTYPE::stringToSlotType(NLMISC::toUpper(str)); } diff --git a/code/ryzom/client/src/interface_v3/dbgroup_list_sheet.cpp b/code/ryzom/client/src/interface_v3/dbgroup_list_sheet.cpp index 74bd2be47..2966e65b4 100644 --- a/code/ryzom/client/src/interface_v3/dbgroup_list_sheet.cpp +++ b/code/ryzom/client/src/interface_v3/dbgroup_list_sheet.cpp @@ -115,7 +115,7 @@ bool CDBGroupListSheet::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup) if (prop) { // get a branch in the database. - CCDBNodeBranch *branch= NLGUI::CDBManager::getInstance()->getDbBranch(prop); + CCDBNodeBranch *branch = NLGUI::CDBManager::getInstance()->getDbBranch(prop.str()); if(!branch) { nlinfo ("Branch not found in the database %s", (const char*)prop); diff --git a/code/ryzom/client/src/interface_v3/dbgroup_list_sheet_text.cpp b/code/ryzom/client/src/interface_v3/dbgroup_list_sheet_text.cpp index 772f99418..2294d3926 100644 --- a/code/ryzom/client/src/interface_v3/dbgroup_list_sheet_text.cpp +++ b/code/ryzom/client/src/interface_v3/dbgroup_list_sheet_text.cpp @@ -98,7 +98,7 @@ bool CDBGroupListSheetText::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup) if (prop) { // get a branch in the database. - CCDBNodeBranch *branch= NLGUI::CDBManager::getInstance()->getDbBranch(prop); + CCDBNodeBranch *branch = NLGUI::CDBManager::getInstance()->getDbBranch(prop.str()); if(!branch) { nlinfo ("Branch not found in the database %s", (const char*)prop); diff --git a/code/ryzom/client/src/interface_v3/group_map.cpp b/code/ryzom/client/src/interface_v3/group_map.cpp index 371673a00..667e900c4 100644 --- a/code/ryzom/client/src/interface_v3/group_map.cpp +++ b/code/ryzom/client/src/interface_v3/group_map.cpp @@ -556,7 +556,7 @@ bool CGroupMap::parse(xmlNodePtr cur, CInterfaceGroup * parentGroup) ptr = (char*) xmlGetProp( cur, (xmlChar*)"map_mode" ); if (ptr) { - string sTmp = ptr; + string sTmp = ptr.str(); if (sTmp == "normal") _MapMode = MapMode_Normal; else if (sTmp == "death") diff --git a/code/ryzom/client/src/interface_v3/interface_3d_scene.cpp b/code/ryzom/client/src/interface_v3/interface_3d_scene.cpp index 0d51a538e..6acc2a17b 100644 --- a/code/ryzom/client/src/interface_v3/interface_3d_scene.cpp +++ b/code/ryzom/client/src/interface_v3/interface_3d_scene.cpp @@ -162,13 +162,13 @@ bool CInterface3DScene::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup) _Ref3DScene = NULL; if (ptr) { - CInterfaceElement *pIE = CWidgetManager::getInstance()->getElementFromId(this->getId(), ptr); + CInterfaceElement *pIE = CWidgetManager::getInstance()->getElementFromId(this->getId(), ptr.str()); _Ref3DScene = dynamic_cast(pIE); } if (_Ref3DScene != NULL) { ptr = (char*) xmlGetProp( cur, (xmlChar*)"curcam" ); - if (ptr) setCurrentCamera (ptr); + if (ptr) setCurrentCamera (ptr.str()); return true; } @@ -294,7 +294,7 @@ bool CInterface3DScene::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup) CXMLAutoPtr ptr((const char*)xmlGetProp (cur, (xmlChar*)"name")); string animName; if (ptr) - animName = strlwr (CFile::getFilenameWithoutExtension(ptr)); + animName = strlwr (CFile::getFilenameWithoutExtension(ptr.str())); if (!animName.empty()) { @@ -340,7 +340,7 @@ bool CInterface3DScene::parse (xmlNodePtr cur, CInterfaceGroup *parentGroup) // Get the current camera ptr = (char*) xmlGetProp( cur, (xmlChar*)"curcam" ); - if (ptr) setCurrentCamera (ptr); + if (ptr) setCurrentCamera(ptr.str()); return true; } diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index 11bf6a8ef..70be8abe4 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -2684,7 +2684,7 @@ bool CInterfaceManager::deletePlayerKeys (const std::string &playerFileIdent) } // *************************************************************************** -void CInterfaceManager::log(const ucstring &str) +void CInterfaceManager::log(const ucstring &str, const std::string &cat) { if (_LogState) { @@ -2693,7 +2693,7 @@ void CInterfaceManager::log(const ucstring &str) FILE *f = fopen(fileName.c_str(), "at"); if (f != NULL) { - const string finalString = string(NLMISC::IDisplayer::dateToHumanString()) + " * " + str.toUtf8(); + const string finalString = string(NLMISC::IDisplayer::dateToHumanString()) + " (" + NLMISC::toUpper(cat) + ") * " + str.toUtf8(); fprintf(f, "%s\n", finalString.c_str()); } fclose(f); diff --git a/code/ryzom/client/src/interface_v3/interface_manager.h b/code/ryzom/client/src/interface_v3/interface_manager.h index 36bd909e3..d947f4912 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.h +++ b/code/ryzom/client/src/interface_v3/interface_manager.h @@ -218,7 +218,7 @@ public: // Log system (all chat/tell void setLogState(bool state) { _LogState = state; } bool getLogState() const { return _LogState; } - void log(const ucstring &str); + void log(const ucstring &str, const std::string &cat = ""); /// Text from here and from server diff --git a/code/ryzom/client/src/interface_v3/inventory_manager.cpp b/code/ryzom/client/src/interface_v3/inventory_manager.cpp index 5e7d66075..7a56e470e 100644 --- a/code/ryzom/client/src/interface_v3/inventory_manager.cpp +++ b/code/ryzom/client/src/interface_v3/inventory_manager.cpp @@ -1981,7 +1981,7 @@ bool SBagOptions::parse(xmlNodePtr cur, CInterfaceGroup * /* parentGroup */) prop = xmlGetProp (cur, (xmlChar*)"inv_type"); if (prop) { - InvType = CInventoryManager::invTypeFromString(prop); + InvType = CInventoryManager::invTypeFromString(prop.str()); } else { @@ -1990,22 +1990,22 @@ bool SBagOptions::parse(xmlNodePtr cur, CInterfaceGroup * /* parentGroup */) } prop = xmlGetProp (cur, (xmlChar*)"filter_armor"); - if (prop) DbFilterArmor = NLGUI::CDBManager::getInstance()->getDbProp(prop); + if (prop) DbFilterArmor = NLGUI::CDBManager::getInstance()->getDbProp(prop.str()); prop = xmlGetProp (cur, (xmlChar*)"filter_weapon"); - if (prop) DbFilterWeapon = NLGUI::CDBManager::getInstance()->getDbProp(prop); + if (prop) DbFilterWeapon = NLGUI::CDBManager::getInstance()->getDbProp(prop.str()); prop = xmlGetProp (cur, (xmlChar*)"filter_tool"); - if (prop) DbFilterTool = NLGUI::CDBManager::getInstance()->getDbProp(prop); + if (prop) DbFilterTool = NLGUI::CDBManager::getInstance()->getDbProp(prop.str()); prop = xmlGetProp (cur, (xmlChar*)"filter_mp"); - if (prop) DbFilterMP = NLGUI::CDBManager::getInstance()->getDbProp(prop); + if (prop) DbFilterMP = NLGUI::CDBManager::getInstance()->getDbProp(prop.str()); prop = xmlGetProp (cur, (xmlChar*)"filter_missmp"); - if (prop) DbFilterMissMP = NLGUI::CDBManager::getInstance()->getDbProp(prop); + if (prop) DbFilterMissMP = NLGUI::CDBManager::getInstance()->getDbProp(prop.str()); prop = xmlGetProp (cur, (xmlChar*)"filter_tp"); - if (prop) DbFilterTP = NLGUI::CDBManager::getInstance()->getDbProp(prop); + if (prop) DbFilterTP = NLGUI::CDBManager::getInstance()->getDbProp(prop.str()); return true; } diff --git a/code/ryzom/client/src/interface_v3/parser_modules.cpp b/code/ryzom/client/src/interface_v3/parser_modules.cpp index ff1c93645..b540900a4 100644 --- a/code/ryzom/client/src/interface_v3/parser_modules.cpp +++ b/code/ryzom/client/src/interface_v3/parser_modules.cpp @@ -353,7 +353,7 @@ bool CCommandParser::parse( xmlNodePtr cur, NLGUI::CInterfaceGroup *parentGroup if (ptrName) { // Does the action exist ? - std::string name = ptrName; + std::string name = ptrName.str(); if (!ICommand::exists (name) || (CUserCommand::CommandMap.find(name) != CUserCommand::CommandMap.end())) { // Get the action @@ -369,7 +369,7 @@ bool CCommandParser::parse( xmlNodePtr cur, NLGUI::CInterfaceGroup *parentGroup // if prop "ctrlchar" is declared with false, then disable ctrlchar for this command CXMLAutoPtr prop((const char*) xmlGetProp( cur, (xmlChar*)"ctrlchar" )); if( (const char*)prop && (CInterfaceElement::convertBool((const char*)prop)==false) ) - ICommand::enableControlCharForCommand(ptrName, false); + ICommand::enableControlCharForCommand(ptrName.str(), false); // Done ret = true; diff --git a/code/ryzom/client/src/interface_v3/people_list.cpp b/code/ryzom/client/src/interface_v3/people_list.cpp index 4dc451ea3..c2167358f 100644 --- a/code/ryzom/client/src/interface_v3/people_list.cpp +++ b/code/ryzom/client/src/interface_v3/people_list.cpp @@ -478,7 +478,7 @@ void CPeopleList::displayLocalPlayerTell(const ucstring &receiver, uint index, c strFindReplace(s, "%name", receiver); strFindReplace(finalMsg, CI18N::get("youTell"), s); gl->addChild(getChatTextMngr().createMsgText(finalMsg, prop.getRGBA())); - CInterfaceManager::getInstance()->log(finalMsg); + CInterfaceManager::getInstance()->log(finalMsg, CChatGroup::groupTypeToString(CChatGroup::tell)); // if the group is closed, make it blink if (!gc->isOpen()) @@ -946,7 +946,7 @@ class CHandlerContactEntry : public IActionHandler ucstring s = CI18N::get("youTellPlayer"); strFindReplace(s, "%name", pWin->getFreeTellerName(str)); strFindReplace(final, CI18N::get("youTell"), s); - CInterfaceManager::getInstance()->log(final); + CInterfaceManager::getInstance()->log(final, CChatGroup::groupTypeToString(CChatGroup::tell)); } } } diff --git a/code/ryzom/client/src/net_manager.cpp b/code/ryzom/client/src/net_manager.cpp index 0d369fe85..ecadce14e 100644 --- a/code/ryzom/client/src/net_manager.cpp +++ b/code/ryzom/client/src/net_manager.cpp @@ -879,7 +879,28 @@ void CInterfaceChatDisplayer::displayChat(TDataSetIndex compressedSenderIndex, c } // Log - pIM->log (finalString); + + string channel; + if (mode == CChatGroup::dyn_chat) + { + sint32 dbIndex = ChatMngr.getDynamicChannelDbIndexFromId(dynChatId); + clamp(dbIndex, (sint32)0 , (sint32)CChatGroup::MaxDynChanPerPlayer); + + channel = "dyn" + toString(dbIndex); + } + else + { + channel = CChatGroup::groupTypeToString(mode); + if (channel.empty()) + { + channel = "#" + toString((uint32)mode); + } + } + if (!stringCategory.empty() && NLMISC::toUpper(stringCategory) != "SYS") + { + channel = channel + "/" + stringCategory; + } + pIM->log (finalString, channel); } @@ -911,7 +932,7 @@ void CInterfaceChatDisplayer::displayTell(/*TDataSetIndex senderIndex, */const u colorizeSender(finalString, senderPart, prop.getRGBA()); PeopleInterraction.ChatInput.Tell.displayTellMessage(/*senderIndex, */finalString, goodSenderName, prop.getRGBA(), 2, &windowVisible); - CInterfaceManager::getInstance()->log(finalString); + CInterfaceManager::getInstance()->log(finalString, CChatGroup::groupTypeToString(CChatGroup::tell)); // Open the free teller window CChatGroupWindow *pCGW = PeopleInterraction.getChatGroupWindow(); diff --git a/code/ryzom/client/src/network_connection.h b/code/ryzom/client/src/network_connection.h index 3eb5cd95b..da47f925e 100644 --- a/code/ryzom/client/src/network_connection.h +++ b/code/ryzom/client/src/network_connection.h @@ -776,16 +776,10 @@ protected: /// @name NLMISC::CEntityId handling (for gamedev) //@{ - class CHash + struct CHash { - public: - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; - - CHash() {} - + enum { bucket_size = 4, min_buckets = 8, }; size_t operator () (const CLFECOMMON::TSheetId &id) const { return id; } - inline bool operator() (const CLFECOMMON::TSheetId &id1, const CLFECOMMON::TSheetId &id2) const { return (size_t)id1 < (size_t)id2; } }; diff --git a/code/ryzom/client/src/r2/dmc/client_edition_module.cpp b/code/ryzom/client/src/r2/dmc/client_edition_module.cpp index 93978800d..5d00cdc2b 100644 --- a/code/ryzom/client/src/r2/dmc/client_edition_module.cpp +++ b/code/ryzom/client/src/r2/dmc/client_edition_module.cpp @@ -1352,8 +1352,8 @@ bool CClientEditionModule::loadUserComponent(const std::string& filename, bool m } } - std::string sourceExtension = UserComponentsSourceExtension; - std::string componentExtension = UserComponentsComponentExtension; + std::string sourceExtension = UserComponentsSourceExtension.get(); + std::string componentExtension = UserComponentsComponentExtension.get(); uint32 uncompressedFileLength = 0; diff --git a/code/ryzom/common/src/game_share/_backup_service_interface_non_module.cpp b/code/ryzom/common/src/game_share/_backup_service_interface_non_module.cpp index 2e1d474b2..801d78433 100644 --- a/code/ryzom/common/src/game_share/_backup_service_interface_non_module.cpp +++ b/code/ryzom/common/src/game_share/_backup_service_interface_non_module.cpp @@ -381,7 +381,7 @@ void CBSIINonModule::activate() // setup the callback array CUnifiedNetwork::getInstance()->addCallbackArray( CbArray, sizeof(CbArray)/sizeof(CbArray[0]) ); - string host = BackupServiceIP; + string host = BackupServiceIP.get(); if(host.empty()) { nlwarning("Can't use backup because BSHost variable is empty"); diff --git a/code/ryzom/common/src/game_share/base_types.h b/code/ryzom/common/src/game_share/base_types.h index 250e5f5e4..f24daa69a 100644 --- a/code/ryzom/common/src/game_share/base_types.h +++ b/code/ryzom/common/src/game_share/base_types.h @@ -238,12 +238,11 @@ public: CHashCode() {} - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; size_t operator () ( const TDataSetRow &index ) const { return index.getHashCode(); } - bool operator() (const TDataSetRow &index1, const TDataSetRow &index2) const { return index1.getHashCode() < index2.getHashCode(); } + bool operator() (const TDataSetRow &index1, const TDataSetRow &index2) const { return index1 < index2; } }; /// Warning: method to avoid (use it only when using rows as a static array) diff --git a/code/ryzom/common/src/game_share/deployment_configuration.cpp b/code/ryzom/common/src/game_share/deployment_configuration.cpp index 52fc9087c..8957c89ac 100644 --- a/code/ryzom/common/src/game_share/deployment_configuration.cpp +++ b/code/ryzom/common/src/game_share/deployment_configuration.cpp @@ -313,13 +313,13 @@ namespace DEPCFG void CInfoBlock::addUseEntry(const NLMISC::CSString& entry,const NLMISC::CSString& context,uint32& errors) { - DROP_IF(_UseEntries.find(entry)!=_UseEntries.end(),context+"Ignoring duplicate refference to 'use' clause: "+entry,return); + DROP_IF(_UseEntries.find(entry) != _UseEntries.end(), context + "Ignoring duplicate refference to 'use' clause: " + entry.c_str(), return); _UseEntries.insert(entry); } void CInfoBlock::addDataEntry(const NLMISC::CSString& entry,const NLMISC::CSString& context,uint32& errors) { - DROP_IF(_DataEntries.find(entry)!=_DataEntries.end(),context+"Ignoring duplicate refference to 'data' clause: "+entry,return); + DROP_IF(_DataEntries.find(entry) != _DataEntries.end(), context + "Ignoring duplicate refference to 'data' clause: " + entry.c_str(), return); _DataEntries.insert(entry); } @@ -406,10 +406,10 @@ namespace DEPCFG // try to get a pointer to the refferenced info block... CInfoBlock* infoBlockPtr= container->getInfoBlock(theEntry); - DROP_IF(infoBlockPtr==NULL,"Failed to find block named '"+theEntry+"' while fixing up children of block: "+_Name, ++errors;continue); + DROP_IF(infoBlockPtr == NULL, "Failed to find block named '" + theEntry + "' while fixing up children of block: " + _Name.c_str(), ++errors; continue); // make sure that this block doesn't figure amongst the children of the refferenced info block (to avoid circular refs) - DROP_IF(_haveCircularRef(infoBlockPtr),"Circular dependency found between definitions of '"+_Name+"' and '"+theEntry+"'", ++errors;continue); + DROP_IF(_haveCircularRef(infoBlockPtr), "Circular dependency found between definitions of '" + _Name + "' and '" + theEntry.c_str() + "'", ++errors; continue); // add the info block to our children _Children.push_back(infoBlockPtr); @@ -431,7 +431,7 @@ namespace DEPCFG DROP_IF(!_ShardName.empty() && !theExe.ShardName.empty(), "more than one shard found in: "+theExe.FullName, ++errors ); DROP_IF(!_CmdLine.empty() && !theExe.CmdLine.empty(), "more than one cmdLine found in: "+theExe.FullName, ++errors ); DROP_IF(!_Host.empty() && !theExe.Host.empty(), "more than one host found in: "+theExe.FullName, ++errors ); - WARN_IF(!_UniqueName.empty() && !theExe.UniqueName.empty(), "replacing name '"+theExe.UniqueName+"' with '"+_UniqueName+"' in: "+theExe.FullName); + WARN_IF(!_UniqueName.empty() && !theExe.UniqueName.empty(), "replacing name '" + theExe.UniqueName + "' with '" + _UniqueName.c_str() + "' in: " + theExe.FullName.c_str()); // fill our own data into the exe record if (!_DomainName.empty()) theExe.DomainName = _DomainName; @@ -645,22 +645,22 @@ namespace DEPCFG // try to treat the keyword if (keyword=="include") { - DROP_IF(args.empty(),context+"No file name found following 'include': "+line, ++errors;continue); - DROP_IF(fileNameSet.find(args)!=fileNameSet.end(),context+"Warning: Duplicate 'include' block ignored: "+line, continue); + DROP_IF(args.empty(), context + "No file name found following 'include': " + line.c_str(), ++errors; continue); + DROP_IF(fileNameSet.find(args) != fileNameSet.end(), context + "Warning: Duplicate 'include' block ignored: " + line.c_str(), continue); fileNameSet.insert(args); _readFile(args.unquoteIfQuoted(),errors,fileNameSet); } else if (keyword=="define") { - DROP_IF(args.empty(),context+"No block name found following 'define': "+line, ++errors;continue); - DROP_IF(_InfoBlocks.find(args)!=_InfoBlocks.end(),context+"Duplicate 'define' block found: "+line, ++errors;continue); + DROP_IF(args.empty(), context + "No block name found following 'define': " + line.c_str(), ++errors; continue); + DROP_IF(_InfoBlocks.find(args) != _InfoBlocks.end(), context + "Duplicate 'define' block found: " + line.c_str(), ++errors; continue); // create a new info block and push it into our infoblock set _CurrentInfoBlock= new CInfoBlock(args); _InfoBlocks[args]= _CurrentInfoBlock; } else { - DROP_IF(_CurrentInfoBlock==NULL,context+"Expecting 'define ' but found: "+line, ++errors;continue); + DROP_IF(_CurrentInfoBlock == NULL, context + "Expecting 'define ' but found: " + line.c_str(), ++errors; continue); if (keyword=="domain") { _CurrentInfoBlock->setDomainName(args,context,errors); } else if (keyword=="shard") { _CurrentInfoBlock->setShardName(args,context,errors); } @@ -674,7 +674,7 @@ namespace DEPCFG else if (keyword=="cfgAfter") { _CurrentInfoBlock->addCfgEntryPost(rawArgs,context,errors); } else if (keyword=="cfgFile") { _CurrentInfoBlock->addCfgFile(args,context,errors); } else if (keyword=="cfgFileAfter") { _CurrentInfoBlock->addCfgFilePost(args,context,errors); } - else { DROP(context+"Unrecognised keyword: "+line, ++errors;continue); } + else { DROP(context + "Unrecognised keyword: " + line.c_str(), ++errors; continue); } } } } @@ -725,7 +725,7 @@ namespace DEPCFG // yell if the name already looks like a 'fixed up' name DROP_IF(name.right(3).left(1)=="_" && (name.right(2)=="00" || name.right(2).atoui()!=0),"Appending '_' to name ending in '_00' style format as this can clash with auto renumbering => "+name+'_',name+='_') // compose a second version of the name with the shard name added - NLMISC::CSString name_with_shard= name+'_'+it2->ShardName; + NLMISC::CSString name_with_shard = name + '_' + it2->ShardName.c_str(); // insert both versions of the name into the unique name counter ++nameCounts[name]; ++nameCounts[name_with_shard]; @@ -1123,7 +1123,7 @@ namespace DEPCFG result.CfgFile= "// Auto generated config file\n" "// Use with commandline: "+theApp.CmdLine+"\n" - "AESAliasName= \""+appName+"\";\n" + "AESAliasName= \"" + appName.c_str() + "\";\n" "\n"; // copy the cfg set to the result record (the cfgAfter set should have been merged in already) diff --git a/code/ryzom/common/src/game_share/persistent_data_tree.cpp b/code/ryzom/common/src/game_share/persistent_data_tree.cpp index 63252a70c..feefbad1c 100644 --- a/code/ryzom/common/src/game_share/persistent_data_tree.cpp +++ b/code/ryzom/common/src/game_share/persistent_data_tree.cpp @@ -139,10 +139,10 @@ bool CPersistentDataTreeNode::attachToParent(CPersistentDataTreeNode* parent) bool CPersistentDataTreeNode::attachToParent(CPersistentDataTreeNode* parent,uint32 idx) { // check value of 'idx' - BOMB_IF(parent!=NULL && idx>1024*1024,"Implausibly high number of children requested ("+NLMISC::toString("%d",idx)+") for persistent data tree node: "+parent->getNodeName(),return false); + BOMB_IF(parent != NULL && idx>1024 * 1024, "Implausibly high number of children requested (" + NLMISC::toString("%d", idx) + ") for persistent data tree node: " + parent->getNodeName().c_str(), return false); // check for attachment to previous parent - BOMB_IF(_Parent!=NULL,"Attempting to attach a persistent data node to parent '"+(parent==NULL?"NULL":parent->getNodeName())+"' when it's already attached to another parent as: "+getNodeName(),return false); + BOMB_IF(_Parent != NULL, "Attempting to attach a persistent data node to parent '" + (parent == NULL ? "NULL" : parent->getNodeName()) + "' when it's already attached to another parent as: " + getNodeName().c_str(), return false); // split the name into its component parts CSString mapIndex= _Name; @@ -159,7 +159,7 @@ bool CPersistentDataTreeNode::attachToParent(CPersistentDataTreeNode* parent,uin if (parent!=NULL) { // check parent isn't a value - BOMB_IF(parent->_IsValue,"Attempting to attach a persistent data node to parent that has a value '"+parent->getNodeName()+"' = "+parent->_Value,return false); + BOMB_IF(parent->_IsValue, "Attempting to attach a persistent data node to parent that has a value '" + parent->getNodeName() + "' = " + parent->_Value.c_str(), return false); if (hasExplicitIndex) { @@ -179,7 +179,7 @@ bool CPersistentDataTreeNode::attachToParent(CPersistentDataTreeNode* parent,uin } // ensure that there isn't already a node with the same '#' value attached to the same parent - DROP_IF(parent->_ChildIndex.find(nameBase+'#'+mapIndex)!=parent->_ChildIndex.end(),"Failed to add child '"+_Name+"' to parent '"+parent->getNodeName()+"' because another child of same name already exists",return false); + DROP_IF(parent->_ChildIndex.find(nameBase + '#' + mapIndex.c_str()) != parent->_ChildIndex.end(), "Failed to add child '" + _Name + "' to parent '" + parent->getNodeName().c_str() + "' because another child of same name already exists", return false); } } if (!hasExplicitIndex) @@ -190,7 +190,7 @@ bool CPersistentDataTreeNode::attachToParent(CPersistentDataTreeNode* parent,uin } // construct our cleaned up name from its constituent parts - _Name= nameBase+'#'+mapIndex; + _Name = nameBase + '#' + mapIndex.c_str(); // setup own _Parent property and ensure that there are no trailing spaces round the _Name _Parent= parent; @@ -205,7 +205,7 @@ bool CPersistentDataTreeNode::attachToParent(CPersistentDataTreeNode* parent,uin } // ensure that there isn't another child already assigned to this parent slot - BOMB_IF(_Parent->_Children[idx]!=NULL,"Ignoring attempt to add second child to same slot ("+NLMISC::toString("%d",idx)+") in persistent data tree node's children: "+_Parent->getNodeName(),return false); + BOMB_IF(_Parent->_Children[idx] != NULL, "Ignoring attempt to add second child to same slot (" + NLMISC::toString("%d", idx) + ") in persistent data tree node's children: " + _Parent->getNodeName().c_str(), return false); // write own pointer into parent's _Children vector _Parent->_Children[idx]= this; @@ -239,7 +239,7 @@ bool CPersistentDataTreeNode::readFromPdr(CPersistentDataRecord& pdr) return false; // pop the end of block token for the block we just finished processing - DROP_IF(pdr.peekNextToken()!=token,"ERROR: End of "+pdr.lookupString(token)+" block expected but not found at: "+getNodeName(),return false); + DROP_IF(pdr.peekNextToken() != token, "ERROR: End of " + pdr.lookupString(token) + " block expected but not found at: " + getNodeName().c_str(), return false); pdr.popStructEnd(token); } else if (pdr.isEndOfStruct()) @@ -259,7 +259,7 @@ bool CPersistentDataTreeNode::readFromPdr(CPersistentDataRecord& pdr) // extract the map key and ensure that it's followed by a valid __Val__ entry CSString mapKey; pdr.pop(mapKeyToken,mapKey); - DROP_IF(pdr.isEndOfData() || pdr.peekNextToken()!=mapValToken,"ERROR: Ignoring map key (__Key__) because __Val__ token expected but not found at: "+getNodeName()+":"+mapKey,continue); + DROP_IF(pdr.isEndOfData() || pdr.peekNextToken() != mapValToken, "ERROR: Ignoring map key (__Key__) because __Val__ token expected but not found at: " + getNodeName() + ":" + mapKey.c_str(), continue); if (needsQuotes(mapKey)) mapKey=mapKey.quote(); @@ -278,7 +278,7 @@ bool CPersistentDataTreeNode::readFromPdr(CPersistentDataRecord& pdr) return false; // pop the end of struct marker - DROP_IF(pdr.peekNextToken()!=mapValToken,"ERROR: End of __Val__ block expected but not found at: "+getNodeName()+":"+mapKey,return false); + DROP_IF(pdr.peekNextToken() != mapValToken, "ERROR: End of __Val__ block expected but not found at: " + getNodeName() + ":" + mapKey.c_str(), return false); pdr.popStructEnd(mapValToken); } else @@ -419,9 +419,9 @@ bool CPersistentDataTreeNode::writeToBuffer(NLMISC::CSString& buffer) const { // write a value if (needsQuotes(_Value)) - buffer+= getNodeName()+"=="+_Value.quote()+"\n"; + buffer += getNodeName() + "==" + _Value.quote().c_str() + "\n"; else - buffer+= getNodeName()+"="+_Value+"\n"; + buffer += getNodeName() + "=" + _Value.c_str() + "\n"; } else { @@ -468,8 +468,8 @@ CSString CPersistentDataTreeNode::getNodeName() const // return one of name, parentName.name and parentName:name if (parentName.empty()) return name; - if (isMapEntry()) return parentName+":"+name; - else return parentName+"."+name; + if (isMapEntry()) return parentName + ":" + name.c_str(); + else return parentName + "." + name.c_str(); } void CPersistentDataTreeNode::setValue(const TValue& value) @@ -507,7 +507,7 @@ bool CPersistentDataTreeNode::isMapEntry() const bool CPersistentDataTreeNode::flagAsMap() { - DROP_IF(_IsValue,"ERROR: Failed to flag persistent data tree node '"+getNodeName()+"' as a map as it already has a value: "+_Value,return false); + DROP_IF(_IsValue, "ERROR: Failed to flag persistent data tree node '" + getNodeName() + "' as a map as it already has a value: " + _Value.c_str(), return false); if (_IsMap) return true; diff --git a/code/ryzom/common/src/game_share/ryzom_version.h b/code/ryzom/common/src/game_share/ryzom_version.h index a34715789..5753fedfe 100644 --- a/code/ryzom/common/src/game_share/ryzom_version.h +++ b/code/ryzom/common/src/game_share/ryzom_version.h @@ -20,7 +20,7 @@ #define RYZOM_COMPATIBILITY_VERSION "2.1.0" #define RYZOM_VERSION RYZOM_COMPATIBILITY_VERSION" (ryzom" \ "/" \ - "v0.11.3" \ + "v0.12.0" \ ")" #endif // RYZOM_VERSION_H diff --git a/code/ryzom/common/src/game_share/server_animation_module.cpp b/code/ryzom/common/src/game_share/server_animation_module.cpp index 51d7ce19e..3d3548d54 100644 --- a/code/ryzom/common/src/game_share/server_animation_module.cpp +++ b/code/ryzom/common/src/game_share/server_animation_module.cpp @@ -1017,7 +1017,7 @@ IPrimitive* CServerAnimationModule::getAction(CObject* action, const std::string } if(result.size()>=2) - result[1] = "DSS_"+toString(scenarioId)+" "+result[1]; + result[1] = "DSS_"+toString(scenarioId)+" "+result[1].c_str(); if(result.size()>=3) { for(uint32 i=2;i(first.flags, stwp)); + stacks[first.flags].insert(std::pair(first.flags, stwp)); while (true) { @@ -1750,11 +1750,11 @@ public: } if (tmp.getTopologyNode().Id == topNode.Id) { - stacks[0].insert(make_pair(ndist, tmp)); + stacks[0].insert(std::pair(ndist, tmp)); } else { - stacks[tmpflags+1].insert(make_pair(ndist, tmp)); + stacks[tmpflags + 1].insert(std::pair(ndist, tmp)); } } } diff --git a/code/ryzom/server/src/ai_service/event_manager.h b/code/ryzom/server/src/ai_service/event_manager.h index ab49b8d68..731539051 100644 --- a/code/ryzom/server/src/ai_service/event_manager.h +++ b/code/ryzom/server/src/ai_service/event_manager.h @@ -17,6 +17,8 @@ #ifndef RYAI_EVENT_MANAGER_H #define RYAI_EVENT_MANAGER_H +#include + #include "event_reaction.h" #include "states.h" diff --git a/code/ryzom/server/src/ai_share/16x16_layer.cpp b/code/ryzom/server/src/ai_share/16x16_layer.cpp index c820e4f7b..4e78cf54e 100644 --- a/code/ryzom/server/src/ai_share/16x16_layer.cpp +++ b/code/ryzom/server/src/ai_share/16x16_layer.cpp @@ -100,7 +100,7 @@ I16x16Layer *I16x16Layer::compress(I16x16Layer *layer, sint32 blank) map::iterator it = count.find(val); if (it == count.end()) - count.insert(make_pair(val, 1)); + count.insert(std::pair(val, 1)); else ++((*it).second); } diff --git a/code/ryzom/server/src/ai_share/world_map.cpp b/code/ryzom/server/src/ai_share/world_map.cpp index eae84acbf..f468c1144 100644 --- a/code/ryzom/server/src/ai_share/world_map.cpp +++ b/code/ryzom/server/src/ai_share/world_map.cpp @@ -1469,7 +1469,7 @@ bool CWorldMap::findAStarPath(CWorldPosition const& start, CWorldPosition const& uint father = (uint)nodes.size()-1; // Add start topology to visited nodes (father holds start topo node index for the moment) - visited.insert(make_pair(startTopo, father)); + visited.insert(std::pair(startTopo, father)); // Push start node in the heap with a zero cost heap.push(0.0f, father); @@ -1562,7 +1562,7 @@ bool CWorldMap::findAStarPath(CWorldPosition const& start, CWorldPosition const& // Add node to heap with a computed f(n)=g(n)+h(n) heap.push(distance + heuristic, child); // Add node to visited - visited.insert(make_pair(next, child)); + visited.insert(std::pair(next, child)); } } @@ -1633,7 +1633,7 @@ bool CWorldMap::findAStarPath(const CTopology::TTopologyId &start, const CTopolo uint father = (uint)nodes.size()-1; // add current to visited nodes - visited.insert(make_pair(startTopo, father)); + visited.insert(std::pair(startTopo, father)); heap.push(0.0f, father); bool found=false; @@ -1699,7 +1699,7 @@ bool CWorldMap::findAStarPath(const CTopology::TTopologyId &start, const CTopolo // add node to visited and to heap heap.push(heuristic, child); - visited.insert(make_pair(next, child)); + visited.insert(std::pair(next, child)); } } @@ -1767,7 +1767,7 @@ bool CWorldMap::findInsideAStarPath(CWorldPosition const& start, CWorldPosition uint father = (uint)nodes.size()-1; // Add start node to visited nodes (father holds start node index for the moment) - visited.insert(make_pair(startNode, father)); + visited.insert(std::pair(startNode, father)); // Push start node in the heap with a zero cost heap.push(0.0f, father); @@ -1854,7 +1854,7 @@ bool CWorldMap::findInsideAStarPath(CWorldPosition const& start, CWorldPosition // Add node to heap with a computed f(n)=g(n)+h(n) heap.push(distance + heuristic, child); // Add node to visited - visited.insert(make_pair(next, child)); + visited.insert(std::pair(next, child)); } } diff --git a/code/ryzom/server/src/backup_service/backup_service.cpp b/code/ryzom/server/src/backup_service/backup_service.cpp index aed50a32c..95c11d07a 100644 --- a/code/ryzom/server/src/backup_service/backup_service.cpp +++ b/code/ryzom/server/src/backup_service/backup_service.cpp @@ -718,7 +718,7 @@ void CBackupService::init() BSIsSlave = true; FileManager.forbidStall(); // I'm a slave, try to contact master - string host = MasterBSHost; + string host = MasterBSHost.get(); if (host.find (":") == string::npos) host += ":49990"; diff --git a/code/ryzom/server/src/backup_service/web_connection.cpp b/code/ryzom/server/src/backup_service/web_connection.cpp index 86a62902d..6afa8f885 100644 --- a/code/ryzom/server/src/backup_service/web_connection.cpp +++ b/code/ryzom/server/src/backup_service/web_connection.cpp @@ -209,10 +209,10 @@ void cbGetSaveList(CMemStream &msgin, TSockId host) explode(str, string("%%"), params, true); - string incrementalDir = IncrementalBackupDirectory; - string saveShardRoot = SaveShardRoot; - string templatePath = SaveTemplatePath; - string extList = SaveExtList; + string incrementalDir = IncrementalBackupDirectory.get(); + string saveShardRoot = SaveShardRoot.get(); + string templatePath = SaveTemplatePath.get(); + string extList = SaveExtList.get(); string shard; string userid; @@ -293,8 +293,8 @@ void cbRestoreSave(CMemStream &msgin, TSockId host) explode(str, string("%%"), params, true); - string saveShardRoot = SaveShardRoot; - string templatePath = SaveTemplatePath; + string saveShardRoot = SaveShardRoot.get(); + string templatePath = SaveTemplatePath.get(); string shard; string userid; @@ -368,9 +368,9 @@ void cbCopyOverSave(CMemStream &msgin, TSockId host) explode(str, string("%%"), params, true); - string saveShardRoot = SaveShardRoot; - string templatePath = SaveTemplatePath; - string extList = SaveExtList; + string saveShardRoot = SaveShardRoot.get(); + string templatePath = SaveTemplatePath.get(); + string extList = SaveExtList.get(); string shard; string userid; diff --git a/code/ryzom/server/src/entities_game_service/deposit.cpp b/code/ryzom/server/src/entities_game_service/deposit.cpp index 7d8000f4d..d4cd560ad 100644 --- a/code/ryzom/server/src/entities_game_service/deposit.cpp +++ b/code/ryzom/server/src/entities_game_service/deposit.cpp @@ -16,6 +16,7 @@ #include "stdpch.h" +#include #include "deposit.h" #include "player_manager/character.h" #include "player_manager/player_manager.h" diff --git a/code/ryzom/server/src/entities_game_service/fame_pd.cpp b/code/ryzom/server/src/entities_game_service/fame_pd.cpp index db2104c5d..2e201412a 100644 --- a/code/ryzom/server/src/entities_game_service/fame_pd.cpp +++ b/code/ryzom/server/src/entities_game_service/fame_pd.cpp @@ -516,7 +516,7 @@ void CFameContainerPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; NLMISC::CSheetId __k; data.serial(__k); - _Entries.insert(std::make_pair(__k, CFameContainerEntryPD())); + _Entries.insert(std::pair(__k, CFameContainerEntryPD())); CFameContainerEntryPD* __o = &(_Entries[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); diff --git a/code/ryzom/server/src/entities_game_service/game_event_manager.cpp b/code/ryzom/server/src/entities_game_service/game_event_manager.cpp index 5346809a3..b95fb1ad4 100644 --- a/code/ryzom/server/src/entities_game_service/game_event_manager.cpp +++ b/code/ryzom/server/src/entities_game_service/game_event_manager.cpp @@ -59,7 +59,7 @@ CGameEventManager::CGameEventManager() // ---------------------------------------------------------------------------- void CGameEventManager::init() { - string sFilename = GameEventFile; + string sFilename = GameEventFile.get(); sFilename = CPath::standardizePath(IService::getInstance()->WriteFilesDirectory) + sFilename; if (CFile::fileExists(sFilename)) @@ -302,7 +302,7 @@ void CGameEventManager::saveGameEventFile() { if( _InitOk ) { - string sFilename = GameEventFile; + string sFilename = GameEventFile.get(); sFilename = CPath::standardizePath(IService::getInstance()->WriteFilesDirectory) + sFilename; static CPersistentDataRecordRyzomStore pdr; diff --git a/code/ryzom/server/src/entities_game_service/guild_container_pd.cpp b/code/ryzom/server/src/entities_game_service/guild_container_pd.cpp index dea4e2a1d..7e025acdf 100644 --- a/code/ryzom/server/src/entities_game_service/guild_container_pd.cpp +++ b/code/ryzom/server/src/entities_game_service/guild_container_pd.cpp @@ -298,7 +298,7 @@ void CGuildContainerPD::pds__fetch(RY_PDS::CPData &data) TGuildId __k; data.serial(__k); CGuildPD* __o = static_cast(PDSLib.create(tableIndex)); - _Guilds.insert(std::make_pair(__k, __o)); + _Guilds.insert(std::pair(__k, __o)); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); __o->pds__setParentUnnotified(this); diff --git a/code/ryzom/server/src/entities_game_service/guild_pd.cpp b/code/ryzom/server/src/entities_game_service/guild_pd.cpp index 819ae72ad..1da40c221 100644 --- a/code/ryzom/server/src/entities_game_service/guild_pd.cpp +++ b/code/ryzom/server/src/entities_game_service/guild_pd.cpp @@ -470,7 +470,7 @@ void CGuildPD::pds__fetch(RY_PDS::CPData &data) TCharacterId __k; data.serial(__k); CGuildMemberPD* __o = static_cast(PDSLib.create(tableIndex)); - _Members.insert(std::make_pair(__k, __o)); + _Members.insert(std::pair(__k, __o)); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); __o->pds__setParentUnnotified(this); diff --git a/code/ryzom/server/src/entities_game_service/mission_manager/mission_queue_manager.cpp b/code/ryzom/server/src/entities_game_service/mission_manager/mission_queue_manager.cpp index bab69042a..a821eef45 100644 --- a/code/ryzom/server/src/entities_game_service/mission_manager/mission_queue_manager.cpp +++ b/code/ryzom/server/src/entities_game_service/mission_manager/mission_queue_manager.cpp @@ -48,7 +48,7 @@ CMissionQueueManager::CMissionQueueManager() // ---------------------------------------------------------------------------- void CMissionQueueManager::init() { - string sFilename = MissionQueueFile; + string sFilename = MissionQueueFile.get(); sFilename = Bsi.getLocalPath() + sFilename; if (CFile::fileExists(sFilename)) @@ -141,7 +141,7 @@ void CMissionQueueManager::saveToFile() if( _InitOk ) { - string sFilename = MissionQueueFile; + string sFilename = MissionQueueFile.get(); // save file via Backup Service (BS) try diff --git a/code/ryzom/server/src/entities_game_service/mission_pd.cpp b/code/ryzom/server/src/entities_game_service/mission_pd.cpp index ffa8855a9..1d5903687 100644 --- a/code/ryzom/server/src/entities_game_service/mission_pd.cpp +++ b/code/ryzom/server/src/entities_game_service/mission_pd.cpp @@ -328,7 +328,7 @@ void CActiveStepPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _States.insert(std::make_pair(__k, CActiveStepStatePD())); + _States.insert(std::pair(__k, CActiveStepStatePD())); CActiveStepStatePD* __o = &(_States[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -2353,7 +2353,7 @@ void CMissionPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _Steps.insert(std::make_pair(__k, CActiveStepPD())); + _Steps.insert(std::pair(__k, CActiveStepPD())); CActiveStepPD* __o = &(_Steps[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -2367,7 +2367,7 @@ void CMissionPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _Compass.insert(std::make_pair(__k, CMissionCompassPD())); + _Compass.insert(std::pair(__k, CMissionCompassPD())); CMissionCompassPD* __o = &(_Compass[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -2381,7 +2381,7 @@ void CMissionPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _StepsDone.insert(std::make_pair(__k, CDoneStepPD())); + _StepsDone.insert(std::pair(__k, CDoneStepPD())); CDoneStepPD* __o = &(_StepsDone[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -2395,7 +2395,7 @@ void CMissionPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _Teleports.insert(std::make_pair(__k, CMissionTeleportPD())); + _Teleports.insert(std::pair(__k, CMissionTeleportPD())); CMissionTeleportPD* __o = &(_Teleports[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -2409,7 +2409,7 @@ void CMissionPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _InsidePlaces.insert(std::make_pair(__k, CMissionInsidePlacePD())); + _InsidePlaces.insert(std::pair(__k, CMissionInsidePlacePD())); CMissionInsidePlacePD* __o = &(_InsidePlaces[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -2423,7 +2423,7 @@ void CMissionPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _OutsidePlaces.insert(std::make_pair(__k, CMissionOutsidePlacePD())); + _OutsidePlaces.insert(std::pair(__k, CMissionOutsidePlacePD())); CMissionOutsidePlacePD* __o = &(_OutsidePlaces[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -2437,7 +2437,7 @@ void CMissionPD::pds__fetch(RY_PDS::CPData &data) if (rowIndex == RY_PDS::INVALID_ROW_INDEX || tableIndex == RY_PDS::INVALID_TABLE_INDEX) break; uint32 __k; data.serial(__k); - _HandledAIGroups.insert(std::make_pair(__k, CHandledAIGroupPD())); + _HandledAIGroups.insert(std::pair(__k, CHandledAIGroupPD())); CHandledAIGroupPD* __o = &(_HandledAIGroups[__k]); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); @@ -3276,7 +3276,7 @@ void CMissionContainerPD::pds__fetch(RY_PDS::CPData &data) uint32 __k; data.serial(__k); CMissionPD* __o = static_cast(PDSLib.create(tableIndex)); - _Missions.insert(std::make_pair(__k, __o)); + _Missions.insert(std::pair(__k, __o)); PDSLib.setRowIndex(rowIndex, __o); __o->pds__fetch(data); __o->pds__setParentUnnotified(this); diff --git a/code/ryzom/server/src/entities_game_service/phrase_manager/fg_prospection_phrase.cpp b/code/ryzom/server/src/entities_game_service/phrase_manager/fg_prospection_phrase.cpp index f2fc03eb0..7721bad0c 100644 --- a/code/ryzom/server/src/entities_game_service/phrase_manager/fg_prospection_phrase.cpp +++ b/code/ryzom/server/src/entities_game_service/phrase_manager/fg_prospection_phrase.cpp @@ -17,6 +17,7 @@ #include "stdpch.h" +#include #include "fg_prospection_phrase.h" #include "nel/misc/common.h" #include "nel/misc/fast_floor.h" diff --git a/code/ryzom/server/src/entities_game_service/player_manager/cdb_branch.cpp b/code/ryzom/server/src/entities_game_service/player_manager/cdb_branch.cpp index d54dbd694..44205d02a 100644 --- a/code/ryzom/server/src/entities_game_service/player_manager/cdb_branch.cpp +++ b/code/ryzom/server/src/entities_game_service/player_manager/cdb_branch.cpp @@ -284,7 +284,7 @@ void CCDBStructNodeBranch::init( xmlNodePtr node, NLMISC::IProgressCallback &pro { // dealing with an array of entries uint countAsInt; - NLMISC::fromString(count, countAsInt); + NLMISC::fromString(count.str(), countAsInt); nlassert((const char *) count != NULL); for (uint i=0;i 0 ) { CSString skillValue = s; diff --git a/code/ryzom/server/src/entities_game_service/player_manager/db_string_updater.h b/code/ryzom/server/src/entities_game_service/player_manager/db_string_updater.h index 059e7d765..e9296b0ef 100644 --- a/code/ryzom/server/src/entities_game_service/player_manager/db_string_updater.h +++ b/code/ryzom/server/src/entities_game_service/player_manager/db_string_updater.h @@ -48,15 +48,29 @@ class CDBStringUpdater : public NLMISC::CSingleton { return ClientDB == other.ClientDB && Node == other.Node; } + + bool operator <(const TBDStringLeaf &other) const + { + if (ClientDB != other.ClientDB) + return ClientDB < other.ClientDB; + if (Node != other.Node) + return Node < other.Node; + return false; + } }; // hasher for the identifier struct THashDBStringLeaf { + enum { bucket_size = 4, min_buckets = 8, }; size_t operator()(const TBDStringLeaf &stringLeaf) const { return ((size_t)stringLeaf.ClientDB>>4) ^ ((size_t)stringLeaf.Node>>4); } + bool operator()(const TBDStringLeaf &left, const TBDStringLeaf &right) const + { + return left < right; + } }; // info for each string leaf diff --git a/code/ryzom/server/src/entities_game_service/player_manager/player_manager.h b/code/ryzom/server/src/entities_game_service/player_manager/player_manager.h index 9f1643e84..5e68af4d2 100644 --- a/code/ryzom/server/src/entities_game_service/player_manager/player_manager.h +++ b/code/ryzom/server/src/entities_game_service/player_manager/player_manager.h @@ -48,10 +48,11 @@ namespace NLNET extern CGenericXmlMsgHeaderManager GenericMsgManager; -class CServiceIdHash +struct CServiceIdHash { -public: + enum { bucket_size = 4, min_buckets = 8, }; size_t operator () ( const NLNET::TServiceId &sid ) const { return sid.get(); } + bool operator()(const NLNET::TServiceId &left, const NLNET::TServiceId &right) const { return left < right; } }; class CCharIdReplaced diff --git a/code/ryzom/server/src/entities_game_service/player_manager/player_manager_interface.h b/code/ryzom/server/src/entities_game_service/player_manager/player_manager_interface.h index a18e1645a..2ebf3d50e 100644 --- a/code/ryzom/server/src/entities_game_service/player_manager/player_manager_interface.h +++ b/code/ryzom/server/src/entities_game_service/player_manager/player_manager_interface.h @@ -41,10 +41,11 @@ public: }; - class CUint32Hash + struct CUint32Hash { - public: - size_t operator () ( const uint32 &i ) const { return i; } + enum { bucket_size = 4, min_buckets = 8, }; + size_t operator () (const uint32 &i) const { return i; } + bool operator()(const uint32 left, const uint32 right) const { return left < right; } }; typedef uint32 TUserId; diff --git a/code/ryzom/server/src/frontend_service/client_entity_id_translator.h b/code/ryzom/server/src/frontend_service/client_entity_id_translator.h index 0f18698c5..f80fbe983 100644 --- a/code/ryzom/server/src/frontend_service/client_entity_id_translator.h +++ b/code/ryzom/server/src/frontend_service/client_entity_id_translator.h @@ -89,10 +89,11 @@ public: private: - class CHash + struct CHash { - public: - size_t operator () ( const TEntityIndex& index ) const { return index.getIndex(); } + enum { bucket_size = 4, min_buckets = 8, }; + size_t operator () (const TEntityIndex& index) const { return index.getIndex(); } + bool operator() (const TEntityIndex& left, const TEntityIndex& right) { return left < right; } }; // table to map CEntityId to TCLEntityId diff --git a/code/ryzom/server/src/frontend_service/client_id_lookup.h b/code/ryzom/server/src/frontend_service/client_id_lookup.h index 3d6db560e..9c63a60a6 100644 --- a/code/ryzom/server/src/frontend_service/client_id_lookup.h +++ b/code/ryzom/server/src/frontend_service/client_id_lookup.h @@ -114,11 +114,11 @@ private: typedef std::vector TEntityIndexToClient; - class CIdHash + struct CIdHash { - public: - - size_t operator () ( NLMISC::CEntityId id ) const { return (uint32)id.getShortId(); } + enum { bucket_size = 4, min_buckets = 8, }; + size_t operator () (NLMISC::CEntityId id) const { return (uint32)id.getShortId(); } + bool operator() (const NLMISC::CEntityId& left, const NLMISC::CEntityId& right) { return left < right; } }; typedef CHashMap TIdToClientMap; diff --git a/code/ryzom/server/src/frontend_service/fe_types.h b/code/ryzom/server/src/frontend_service/fe_types.h index 747fd6f9e..d63ef1e42 100644 --- a/code/ryzom/server/src/frontend_service/fe_types.h +++ b/code/ryzom/server/src/frontend_service/fe_types.h @@ -69,16 +69,15 @@ typedef uint32 TUid; /** * CInetAddress hash function */ -class CInetAddressHashMapTraits +struct CInetAddressHashMapTraits { -public: - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; inline size_t operator() ( const NLNET::CInetAddress& x ) const { //return x.port(); return x.internalIPAddress(); } + bool operator() (const NLNET::CInetAddress& left, const NLNET::CInetAddress& right) { return left < right; } // bool operator() (const NLNET::CInetAddress &x1, const NLNET::CInetAddress &x2) const // { // return classId1 < classId2; diff --git a/code/ryzom/server/src/frontend_service/frontend_service.cpp b/code/ryzom/server/src/frontend_service/frontend_service.cpp index cbf4a5610..c973ebcfd 100644 --- a/code/ryzom/server/src/frontend_service/frontend_service.cpp +++ b/code/ryzom/server/src/frontend_service/frontend_service.cpp @@ -1862,7 +1862,7 @@ NLMISC_COMMAND( dumpImpulseStats, "Dump Impulse stat to XML log", " [[- if (reverse) comp = -comp; - result.push_back(std::make_pair(comp, client)); + result.push_back(std::pair(comp, client)); } if (ucriterion != 0 && !result.empty()) diff --git a/code/ryzom/server/src/frontend_service/vision_provider.h b/code/ryzom/server/src/frontend_service/vision_provider.h index 39d84fb2f..aaca90869 100644 --- a/code/ryzom/server/src/frontend_service/vision_provider.h +++ b/code/ryzom/server/src/frontend_service/vision_provider.h @@ -84,6 +84,8 @@ class CClientIdLookup; // Hash function: ClientId * 256 + CeId struct CHash { + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; size_t operator() ( TPairClientSlot pair ) const { return (pair.ClientId << 8) + pair.Slot; } }; diff --git a/code/ryzom/server/src/gpm_service/world_position_manager.cpp b/code/ryzom/server/src/gpm_service/world_position_manager.cpp index 2c10878a6..9674541fc 100644 --- a/code/ryzom/server/src/gpm_service/world_position_manager.cpp +++ b/code/ryzom/server/src/gpm_service/world_position_manager.cpp @@ -504,7 +504,7 @@ void CWorldPositionManager::triggerSubscribe(NLNET::TServiceId serviceId, const STOP_IF(IsRingShard,"Illegal use of CWorldPositionManager on ring shard"); if (_PatatSubscribeManager.exist(name)) { - _PatatSubscribeManager.subscribe(serviceId, make_pair(name, id)); + _PatatSubscribeManager.subscribe(serviceId, std::pair(name, id)); } } @@ -2113,7 +2113,7 @@ void CWorldPositionManager::movePlayer(CWorldEntity *entity, sint32 x, sint32 y, { if (entity->PlayerInfos->DistanceHistory.size() >= 20) entity->PlayerInfos->DistanceHistory.pop_back(); - entity->PlayerInfos->DistanceHistory.push_front(make_pair(CVectorD(x*0.001, y*0.001, z*0.001), tick)); + entity->PlayerInfos->DistanceHistory.push_front(std::pair(CVectorD(x*0.001, y*0.001, z*0.001), tick)); } #endif @@ -3227,7 +3227,7 @@ void CWorldPositionManager::visionRequest(sint32 x, sint32 y, sint32 range, vect if (abs(x - entity->X) < range && abs(y - entity->Y) < range && (rrange = sqrt(sqr((x - entity->X)*0.001) + sqr((y - entity->Y)*0.001))) < frange) { - entities.push_back(make_pair(entity->Id, (sint32)(rrange*1000))); + entities.push_back(std::pair(entity->Id, (sint32)(rrange * 1000))); } } @@ -3240,7 +3240,7 @@ void CWorldPositionManager::visionRequest(sint32 x, sint32 y, sint32 range, vect if (abs(x - entity->X) < range && abs(y - entity->Y) < range && (rrange = sqrt(sqr((x - entity->X)*0.001) + sqr((y - entity->Y)*0.001))) < frange) { - entities.push_back(make_pair(entity->Id, (sint32)(rrange*1000))); + entities.push_back(std::pair(entity->Id, (sint32)(rrange * 1000))); } } } diff --git a/code/ryzom/server/src/gpm_service/world_position_manager.h b/code/ryzom/server/src/gpm_service/world_position_manager.h index 75ea9ead5..81209357c 100644 --- a/code/ryzom/server/src/gpm_service/world_position_manager.h +++ b/code/ryzom/server/src/gpm_service/world_position_manager.h @@ -137,10 +137,11 @@ public: //friend void CWorldEntity::createPrimitive(NLPACS::UMoveContainer *pMoveContainer, uint8 worldImage); friend void CWorldEntity::removePrimitive(); - class CEntityIdHash + struct CEntityIdHash { - public: - size_t operator () ( const NLMISC::CEntityId &id ) const { return (uint32)id.getShortId(); } + enum { bucket_size = 4, min_buckets = 8, }; + size_t operator () (const NLMISC::CEntityId &id) const { return (uint32)id.getShortId(); } + size_t operator () (const NLMISC::CEntityId &left, const NLMISC::CEntityId &right) const { return left < right; } }; /// Container of entities (all entities are referenced by this container diff --git a/code/ryzom/server/src/input_output_service/string_manager_parser.cpp b/code/ryzom/server/src/input_output_service/string_manager_parser.cpp index 0cbfbf595..2aa3c896b 100644 --- a/code/ryzom/server/src/input_output_service/string_manager_parser.cpp +++ b/code/ryzom/server/src/input_output_service/string_manager_parser.cpp @@ -1356,7 +1356,7 @@ void CStringManager::mergeEntityWords(CEntityWords& dest, const CEntityWords& so std::map::const_iterator iti; for (iti=source._ColumnInfo.begin(); iti!=source._ColumnInfo.end(); ++iti) if (dest._ColumnInfo.find((*iti).first) == dest._ColumnInfo.end()) - extraColumns.push_back(std::make_pair((*iti).first, osz+(uint32)extraColumns.size())); + extraColumns.push_back(std::pair((*iti).first, osz + (uint32)extraColumns.size())); for (iti=source._RowInfo.begin(); iti!=source._RowInfo.end(); ++iti) if (dest._RowInfo.find((*iti).first) == dest._RowInfo.end()) diff --git a/code/ryzom/server/src/monitor_service/client.cpp b/code/ryzom/server/src/monitor_service/client.cpp index 6d761ba3e..ce2fdc5dc 100644 --- a/code/ryzom/server/src/monitor_service/client.cpp +++ b/code/ryzom/server/src/monitor_service/client.cpp @@ -273,7 +273,7 @@ void CMonitorClient::update () TYPE_NAME_STRING_ID id = Str[i]; std::map::iterator ite = StringMap.find (id); nlassert (ite != StringMap.end()); - strToSend.push_back( make_pair(id, &((*ite).second)) ); + strToSend.push_back(std::pair(id, &((*ite).second))); strTotalSize += 4+4+(uint)(*ite).second.size(); } diff --git a/code/ryzom/server/src/monitor_service/service_main.cpp b/code/ryzom/server/src/monitor_service/service_main.cpp index 84bbcbe86..bf092bbae 100644 --- a/code/ryzom/server/src/monitor_service/service_main.cpp +++ b/code/ryzom/server/src/monitor_service/service_main.cpp @@ -418,7 +418,9 @@ void clientAuthentication(CMessage &msgin, TSockId from, CCallbackNetBase &netba // fail the authentication // Do not send result immediatly to avoid a potential hacker // to try a dictionnary or that dort of things - BadLoginClients.insert(std::make_pair(NLMISC::CTime::getLocalTime() + LOGIN_RETRY_DELAY_IN_MILLISECONDS, Clients[i])); + BadLoginClients.insert(std::pair >( + NLMISC::CTime::getLocalTime() + LOGIN_RETRY_DELAY_IN_MILLISECONDS, + (NLMISC::CRefPtr)Clients[i])); Clients[i]->BadLogin =true; return; } diff --git a/code/ryzom/server/src/pd_lib/db_description_parser.cpp b/code/ryzom/server/src/pd_lib/db_description_parser.cpp index 175000cf2..55eb4a3d6 100644 --- a/code/ryzom/server/src/pd_lib/db_description_parser.cpp +++ b/code/ryzom/server/src/pd_lib/db_description_parser.cpp @@ -260,7 +260,7 @@ bool CDBDescriptionParser::loadType(xmlNodePtr node) return false; } - typeNode.EnumValues.push_back(make_pair(name, value)); + typeNode.EnumValues.push_back(std::pair(name, value)); if (typeNode.Dimension <= value) typeNode.Dimension = value; diff --git a/code/ryzom/server/src/pd_lib/pd_lib.cpp b/code/ryzom/server/src/pd_lib/pd_lib.cpp index f57a4be62..1a2cda9ba 100644 --- a/code/ryzom/server/src/pd_lib/pd_lib.cpp +++ b/code/ryzom/server/src/pd_lib/pd_lib.cpp @@ -571,7 +571,7 @@ void CPDSLib::update() CMessage* msgupd = new CMessage("PD_UPDATE"); msgupd->serial(_DatabaseId); msgupd->serial(_UpdateId); - _QueuedMessages.push_back(make_pair(_UpdateId, msgupd)); + _QueuedMessages.push_back(std::pair(_UpdateId, msgupd)); ++_UpdateId; // serial queue diff --git a/code/ryzom/server/src/pd_lib/pd_messages.cpp b/code/ryzom/server/src/pd_lib/pd_messages.cpp index 253855d46..b5e731d95 100644 --- a/code/ryzom/server/src/pd_lib/pd_messages.cpp +++ b/code/ryzom/server/src/pd_lib/pd_messages.cpp @@ -504,7 +504,7 @@ bool CUpdateLog::selectMessages(const CDBDescriptionParser& description, const N if (message.getType() == CDbMessage::PushContext) { - contextsStart.push_back(std::make_pair(msg, false)); + contextsStart.push_back(std::pair(msg, false)); } else if (message.getType() == CDbMessage::PopContext) { @@ -561,7 +561,7 @@ bool CUpdateLog::selectMessages(const CDBDescriptionParser& description, const s if (message.getType() == CDbMessage::PushContext) { - contextsStart.push_back(std::make_pair(msg, false)); + contextsStart.push_back(std::pair(msg, false)); } else if (message.getType() == CDbMessage::PopContext) { @@ -644,7 +644,7 @@ bool CUpdateLog::selectMessages(const CDBDescriptionParser& description, const N if (message.getType() == CDbMessage::PushContext) { - contextsStart.push_back(std::make_pair(msg, false)); + contextsStart.push_back(std::pair(msg, false)); } else if (message.getType() == CDbMessage::PopContext) { diff --git a/code/ryzom/server/src/pd_lib/pd_string_mapper.cpp b/code/ryzom/server/src/pd_lib/pd_string_mapper.cpp index 184d4bb7f..7a326dc67 100644 --- a/code/ryzom/server/src/pd_lib/pd_string_mapper.cpp +++ b/code/ryzom/server/src/pd_lib/pd_string_mapper.cpp @@ -64,7 +64,7 @@ void CPDStringMapper::setMapping(const std::string& str, uint32 id) return; } - its = _StringMap.insert(std::make_pair(lowMapStr, id)).first; + its = _StringMap.insert(std::pair(lowMapStr, id)).first; _IdMap[id] = its; } diff --git a/code/ryzom/server/src/pd_lib/pd_utils.h b/code/ryzom/server/src/pd_lib/pd_utils.h index 73a0268d8..85a183753 100644 --- a/code/ryzom/server/src/pd_lib/pd_utils.h +++ b/code/ryzom/server/src/pd_lib/pd_utils.h @@ -490,13 +490,16 @@ typedef std::vector TIndexList; struct CColumnIndexHashMapTraits { - static const size_t bucket_size = 4; - static const size_t min_buckets = 8; + enum { bucket_size = 4, min_buckets = 8, }; CColumnIndexHashMapTraits() { } size_t operator() (const CColumnIndex &id) const - { - return id.hash(); - } + { + return id.hash(); + } + bool operator()(const CColumnIndex &left, const CColumnIndex &right) + { + return left < right; + } }; class CSetMap diff --git a/code/ryzom/server/src/persistant_data_service/db_manager.cpp b/code/ryzom/server/src/persistant_data_service/db_manager.cpp index 6acdf687c..1f853a729 100644 --- a/code/ryzom/server/src/persistant_data_service/db_manager.cpp +++ b/code/ryzom/server/src/persistant_data_service/db_manager.cpp @@ -785,7 +785,7 @@ NLNET::CMessage& CDbManager::addTask(const std::string& msg, ITaskEventListener* // add listener to task listeners if (listener != NULL) - _TaskListeners[id] = std::make_pair(listener, arg); + _TaskListeners[id] = std::pair(listener, arg); return *msgrbs; } diff --git a/code/ryzom/tools/client/client_patcher/CMakeLists.txt b/code/ryzom/tools/client/client_patcher/CMakeLists.txt index e5b845e43..70857105e 100644 --- a/code/ryzom/tools/client/client_patcher/CMakeLists.txt +++ b/code/ryzom/tools/client/client_patcher/CMakeLists.txt @@ -12,6 +12,7 @@ ADD_EXECUTABLE(ryzom_client_patcher ${SRC}) INCLUDE_DIRECTORIES( ${LIBXML2_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} + ${ZLIB_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/ryzom/client/src ) @@ -20,6 +21,7 @@ TARGET_LINK_LIBRARIES(ryzom_client_patcher nelnet ryzom_gameshare ryzom_sevenzip + ${ZLIB_LIBRARIES} ${CURL_LIBRARIES}) IF(APPLE) diff --git a/code/ryzom/tools/leveldesign/mp_generator/utils.h b/code/ryzom/tools/leveldesign/mp_generator/utils.h index 01bb25fe7..efa42149d 100644 --- a/code/ryzom/tools/leveldesign/mp_generator/utils.h +++ b/code/ryzom/tools/leveldesign/mp_generator/utils.h @@ -17,6 +17,7 @@ #ifndef UTILS_H_ #define UTILS_H_ +#include // DtName must be the 1st one enum TDataCol { DtName, DtTitle, DtRMFamily, DtGroup, DtEcosystem, DtLevelZone, DtStatQuality, DtProp, DtCreature, DtCreaTitle, DtCraftSlotName, DtCraftCivSpec, DtColor, DtAverageEnergy, DtMaxLevel, DtCustomizedProperties, DtNbCols }; diff --git a/code/ryzom/tools/patch_gen/patch_gen_common.cpp b/code/ryzom/tools/patch_gen/patch_gen_common.cpp index 7f63177ac..2437c068e 100644 --- a/code/ryzom/tools/patch_gen/patch_gen_common.cpp +++ b/code/ryzom/tools/patch_gen/patch_gen_common.cpp @@ -19,6 +19,7 @@ //----------------------------------------------------------------------------- #include +#include #include "game_share/bnp_patch.h" #include "nel/misc/path.h" @@ -345,8 +346,7 @@ void CPackageDescription::generatePatches(CBNPFileSet& packageIndex) const if (packageIndex.getFile(i).versionCount()==1) { prevVersionFileName= _RootDirectory + "empty"; - NLMISC::COFile tmpFile(prevVersionFileName); - tmpFile.close(); + CFile::createEmptyFile(prevVersionFileName); usingTemporaryFile = true; deleteRefAfterDelta= false; } diff --git a/code/ryzom/tools/pd_parser/parser.cpp b/code/ryzom/tools/pd_parser/parser.cpp index 733bad4df..4b5e9f5c1 100644 --- a/code/ryzom/tools/pd_parser/parser.cpp +++ b/code/ryzom/tools/pd_parser/parser.cpp @@ -1189,7 +1189,7 @@ bool CEnumSimpleValueNode::prolog() uint i; for (i=0; iValues.push_back(make_pair(Names[i], CurrentValue)); + CurrentEnumNode->Values.push_back(std::pair(Names[i], CurrentValue)); } if (parent != NULL) ++(parent->CurrentValue); @@ -1214,7 +1214,7 @@ bool CEnumRangeNode::prolog() CurrentValue = 0; } - CurrentEnumNode->Values.push_back(make_pair(Name, CurrentValue)); + CurrentEnumNode->Values.push_back(std::pair(Name, CurrentValue)); return true; } @@ -1238,7 +1238,7 @@ bool CEnumRangeNode::epilog() if (!EndRange.empty()) { - CurrentEnumNode->Values.push_back(make_pair(EndRange, CurrentValue)); + CurrentEnumNode->Values.push_back(std::pair(EndRange, CurrentValue)); } return true; @@ -4709,7 +4709,7 @@ void CLogMsgNode::generateContent() CClassNode *cnd; if ( (tnd = getTypeNode(type, false)) ) { - pair::iterator, bool> res = params.insert(make_pair(name, tnd)); + pair::iterator, bool> res = params.insert(std::pair(name, tnd)); if (!res.second) error("log parameter '"+name+"' already defined"); @@ -4723,7 +4723,7 @@ void CLogMsgNode::generateContent() } else if ( (cnd = getClassNode(type, false)) ) { - pair::iterator, bool> res = params.insert(make_pair(name, cnd)); + pair::iterator, bool> res = params.insert(std::pair(name, cnd)); if (!res.second) error("log parameter '"+name+"' already defined"); @@ -4739,7 +4739,7 @@ void CLogMsgNode::generateContent() { CExtLogTypeNode* extnd = new CExtLogTypeNode(); extnd->ExtLogType = "string"; - pair::iterator, bool> res = params.insert(make_pair(name, extnd)); + pair::iterator, bool> res = params.insert(std::pair(name, extnd)); if (!res.second) error("log parameter '"+name+"' already defined"); diff --git a/code/ryzom/tools/server/ai_build_wmap/build_proximity_maps.cpp b/code/ryzom/tools/server/ai_build_wmap/build_proximity_maps.cpp index f194f996e..f5b6af644 100644 --- a/code/ryzom/tools/server/ai_build_wmap/build_proximity_maps.cpp +++ b/code/ryzom/tools/server/ai_build_wmap/build_proximity_maps.cpp @@ -32,6 +32,8 @@ // AI share #include "ai_share/world_map.h" +// STL +#include //------------------------------------------------------------------------------------------------- // using namespaces... diff --git a/code/ryzom/tools/translation_tools/main.cpp b/code/ryzom/tools/translation_tools/main.cpp index 9997342fe..1ba2a7e17 100644 --- a/code/ryzom/tools/translation_tools/main.cpp +++ b/code/ryzom/tools/translation_tools/main.cpp @@ -970,7 +970,6 @@ public: void onChanged(uint addIndex, uint refIndex, TPhraseDiffContext &context) { ucstring chg; - char temp[1024]; // check what is changed. if (context.Addition[addIndex].Parameters != context.Reference[refIndex].Parameters) chg += "// Parameter list changed." + nl; @@ -981,11 +980,11 @@ public: for (uint i=0; i tempV; tempV.push_back(context.Reference[refIndex]); ucstring tempT = preparePhraseFile(tempV, false); CI18N::removeCComment(tempT); - phrase.Comments = ucstring(temp) + nl + phrase.Comments; + phrase.Comments = ucstring("// DIFF CHANGED ") + toString(addIndex) + nl + phrase.Comments; phrase.Comments = phrase.Comments + ucstring("/* OLD VALUE : ["+nl) + tabLines(1, tempT) +nl + "] */" + nl; phrase.Comments = phrase.Comments + chg; @@ -2683,7 +2680,6 @@ void CMakePhraseDiff2::onRemove(uint addIndex, uint refIndex, TPhraseDiffContext void CMakePhraseDiff2::onChanged(uint addIndex, uint refIndex, TPhraseDiffContext &context) { ucstring chg; - char temp[1024]; // check what is changed. if (context.Addition[addIndex].Parameters != context.Reference[refIndex].Parameters) chg += "// Parameter list changed." + nl; @@ -2694,11 +2690,11 @@ void CMakePhraseDiff2::onChanged(uint addIndex, uint refIndex, TPhraseDiffContex for (uint i=0; i tempV; tempV.push_back(context.Reference[refIndex]); ucstring tempT = preparePhraseFile(tempV, false); CI18N::removeCComment(tempT); - phrase.Comments = ucstring(temp) + nl + phrase.Comments; + phrase.Comments = ucstring("// DIFF CHANGED ") + toString(addIndex) + nl + phrase.Comments; phrase.Comments = phrase.Comments + ucstring("/* OLD VALUE : ["+nl) + tabLines(1, tempT) +nl + "] */" + nl; phrase.Comments = phrase.Comments + chg; diff --git a/code/snowballs2/client/src/snowballs_client.cpp b/code/snowballs2/client/src/snowballs_client.cpp index 7e019412b..059960922 100644 --- a/code/snowballs2/client/src/snowballs_client.cpp +++ b/code/snowballs2/client/src/snowballs_client.cpp @@ -1264,6 +1264,7 @@ sint main(int argc, char **argv) { // use log.log if NEL_LOG_IN_FILE and SBCLIENT_USE_LOG_LOG defined as 1 createDebug(NULL, SBCLIENT_USE_LOG_LOG, false); + INelContext::getInstance().setWindowedApplication(true); #if SBCLIENT_USE_LOG // create snowballs_client.log diff --git a/code/studio/src/main.cpp b/code/studio/src/main.cpp index dc1e7efb6..e126e258a 100644 --- a/code/studio/src/main.cpp +++ b/code/studio/src/main.cpp @@ -120,6 +120,7 @@ int main(int argc, char **argv) { // use log.log if NEL_LOG_IN_FILE and NLQT_USE_LOG_LOG defined as 1 NLMISC::createDebug(NULL, NLQT_USE_LOG_LOG, false); + NLMISC::INelContext::getInstance().setWindowedApplication(true); #if NLQT_USE_LOG // create NLQT_LOG_FILE // filedisplayer only deletes the 001 etc diff --git a/code/tool/increment_version/increment_version.py b/code/tool/increment_version/increment_version.py index 43afec9ee..3b1d61ad9 100644 --- a/code/tool/increment_version/increment_version.py +++ b/code/tool/increment_version/increment_version.py @@ -31,8 +31,8 @@ os.chdir('../../') RootDir = os.getcwd(); MajorVersion = 0 -MinorVersion = 11 -PatchVersion = 3 +MinorVersion = 12 +PatchVersion = 0 Revision = 0 VersionString = str(MajorVersion) + "." + str(MinorVersion) + "." + str(PatchVersion) diff --git a/code/web/public_php/ams/templates/layout.tpl b/code/web/public_php/ams/templates/layout.tpl index 94cf0b4dd..7720ca65c 100644 --- a/code/web/public_php/ams/templates/layout.tpl +++ b/code/web/public_php/ams/templates/layout.tpl @@ -167,7 +167,7 @@
- {if $permission > 1}

AMS 0.11.3 Powered by: Charisma

{/if} + {if $permission > 1}

AMS 0.12.0 Powered by: Charisma

{/if}
{/if} diff --git a/code/web/public_php/crash_report/config.inc.php b/code/web/public_php/crash_report/config.inc.php new file mode 100644 index 000000000..fe4b3e928 --- /dev/null +++ b/code/web/public_php/crash_report/config.inc.php @@ -0,0 +1,30 @@ + +// +// 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 . + +class BugReportConfig +{ + static public $dbhost = "localhost"; + static public $dbport = "3306"; + static public $dbdb = "bugs"; + static public $dbuser = "bugs"; + static public $dbpw = "bugs"; +} + +?> diff --git a/code/web/public_php/crash_report/log.inc.php b/code/web/public_php/crash_report/log.inc.php new file mode 100644 index 000000000..71deee24f --- /dev/null +++ b/code/web/public_php/crash_report/log.inc.php @@ -0,0 +1,45 @@ + +// +// 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 . + +/// Simple file logger class +class Logger +{ + private $lf = NULL; + + function __construct() + { + $this->lf = fopen( 'log.txt', 'a' ); + if( $this->lf === FALSE ) + exit( 1 ); + } + + function __destruct() + { + fclose( $this->lf ); + } + + public function log( $msg ) + { + $date = date( "[M d, Y H:i:s] " ); + fwrite( $this->lf, $date . $msg . "\n" ); + } +} + +?> diff --git a/code/web/public_php/crash_report/submit.php b/code/web/public_php/crash_report/submit.php new file mode 100644 index 000000000..d20214d11 --- /dev/null +++ b/code/web/public_php/crash_report/submit.php @@ -0,0 +1,112 @@ + +// +// 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 . + +require_once( 'config.inc.php' ); +require_once( 'log.inc.php' ); + +/// Example web application that takes bug reports from the bug reporter Qt app +class BugReportGatherApp +{ + private $db = NULL; + private $logger = NULL; + + function __construct() + { + $this->logger = new Logger(); + } + + private function logPOSTVars() + { + $report = ""; + $descr = ""; + $email = ""; + + if( isset( $_POST[ 'report' ] ) ) + $report = $_POST[ 'report' ]; + + if( isset( $_POST[ 'descr' ] ) ) + $descr = $_POST[ 'descr' ]; + + if( isset( $_POST[ 'email' ] ) ) + $email = $_POST[ 'email' ]; + + $this->logger->log( 'report: ' . "\n" . $report ); + $this->logger->log( 'description: ' . "\n" . $descr ); + $this->logger->log( 'email: ' . "\n" . $email ); + } + + private function buildQuery() + { + $report = ""; + $descr = ""; + $email = ""; + + if( isset( $_POST[ 'report' ] ) ) + $report = $_POST[ 'report' ]; + + if( isset( $_POST[ 'descr' ] ) ) + $descr = $_POST[ 'descr' ]; + + if( isset( $_POST[ 'email' ] ) ) + $email = $_POST[ 'email' ]; + + $report = $this->db->real_escape_string( $report ); + $descr = $this->db->real_escape_string( $descr ); + $email = $this->db->real_escape_string( $email ); + + + $q = "INSERT INTO `bugs` (`report`,`description`,`email`) VALUES ("; + $q .= "'$report',"; + $q .= "'$descr',"; + $q .= "'$email')"; + + return $q; + } + + public function exec() + { + //$this->logPOSTVars(); + + $this->db = new mysqli( BugReportConfig::$dbhost, BugReportConfig::$dbuser, BugReportConfig::$dbpw, BugReportConfig::$dbdb, BugReportConfig::$dbport ); + if( mysqli_connect_error() ) + { + $this->logger->log( "Connection error :(" ); + $this->logger->log( mysqli_connect_error() ); + return; + } + + $q = $this->buildQuery(); + $result = $this->db->query( $q ); + if( $result !== TRUE ) + { + $this->logger->log( "Query failed :(" ); + $this->logger->log( 'Query: ' . $q ); + $this->logPOSTVars(); + } + + $this->db->close(); + } +} + + +$app = new BugReportGatherApp(); +$app->exec(); + +?> diff --git a/dist/debian/precise/debian/changelog b/dist/debian/precise/debian/changelog new file mode 100644 index 000000000..943b56deb --- /dev/null +++ b/dist/debian/precise/debian/changelog @@ -0,0 +1,414 @@ +ryzom-core (0.8.2802~precise1) precise; urgency=low + + * New upstream release (revision 2802) + + -- Cédric OCHS Sun, 09 Dec 2012 14:19:29 +0100 + +ryzom-core (0.8.2801~precise1) precise; urgency=low + + * New upstream release (revision 2801) + + -- Cédric OCHS Sat, 08 Dec 2012 14:08:35 +0100 + +ryzom-core (0.8.2786~precise1) precise; urgency=low + + * New upstream release (revision 2786) + + -- Cédric OCHS Fri, 07 Dec 2012 17:18:02 +0100 + +ryzom-core (0.8.2691~precise1) precise; urgency=low + + * New upstream release (revision 2691) + + -- Cédric OCHS Sun, 07 Oct 2012 10:00:31 +0200 + +ryzom-core (0.8.2683~precise2) precise; urgency=low + + * New upstream release (revision 2683) + + -- Cédric OCHS Thu, 04 Oct 2012 10:11:23 +0200 + +ryzom-core (0.8.2683~precise1) precise; urgency=low + + * New upstream release (revision 2683) + + -- Cédric OCHS Wed, 03 Oct 2012 22:37:14 +0200 + +ryzom-core (0.8.2682~precise1) precise; urgency=low + + * New upstream release (revision 2682) + + -- Cédric OCHS Wed, 03 Oct 2012 19:02:23 +0200 + +ryzom-core (0.8.2681~precise2) precise; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 23:06:36 +0200 + +ryzom-core (0.8.2681~precise1) precise; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 17:19:25 +0200 + +ryzom-core (0.8.2025~precise1) precise; urgency=low + + * New upstream release (revision 2025) + + -- Cédric OCHS Sat, 10 Mar 2012 22:23:49 +0100 + +ryzom-core (0.8.2024~precise1) precise; urgency=low + + * New upstream release (revision 2024) + + -- Cédric OCHS Sat, 10 Mar 2012 11:16:08 +0100 + +ryzom-core (0.8.1847~natty1) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Mon, 17 Oct 2011 09:33:45 +0200 + +ryzom-core (0.8.1847~natty0) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Sun, 16 Oct 2011 18:45:27 +0200 + +ryzom-core (0.8.1758~natty0) natty; urgency=low + + * New upstream release (revision 1758) + + -- Cédric OCHS Tue, 16 Aug 2011 09:02:55 +0200 + +ryzom-core (0.8.1752~natty0) natty; urgency=low + + * New upstream release (revision 1752) + + -- Cédric OCHS Sun, 14 Aug 2011 16:07:29 +0200 + +ryzom-core (0.8.1751~natty0) natty; urgency=low + + * New upstream release (revision 1751) + + -- Cédric OCHS Sun, 14 Aug 2011 14:16:24 +0200 + +ryzom-core (0.8.1750~natty0) natty; urgency=low + + * New upstream release (revision 1750) + + -- Cédric OCHS Sun, 14 Aug 2011 12:30:18 +0200 + +ryzom-core (0.8.1744~natty0) natty; urgency=low + + * New upstream release (revision 1744) + + -- Cédric OCHS Sat, 13 Aug 2011 20:24:49 +0200 + +ryzom-core (0.8.1742~natty0) natty; urgency=low + + * New upstream release (revision 1742) + + -- Cédric OCHS Fri, 12 Aug 2011 18:11:07 +0200 + +ryzom-core (0.8.1628~natty0) natty; urgency=low + + * New upstream release (revision 1628) + + -- Cédric OCHS Fri, 17 Jun 2011 12:56:17 +0200 + +ryzom-core (0.8.1627~natty0) natty; urgency=low + + * New upstream release (revision 1627) + + -- Cédric OCHS Tue, 14 Jun 2011 20:37:05 +0200 + +ryzom-core (0.8.1611~natty0) natty; urgency=low + + * New upstream release (revision 1611) + + -- Cédric OCHS Wed, 08 Jun 2011 19:53:44 +0200 + +ryzom-core (0.8.1596~natty1) natty; urgency=low + + * New upstream release (revision 1596) + + -- Cédric OCHS Sat, 04 Jun 2011 18:11:45 +0200 + +ryzom-core (0.7.1406~natty0) natty; urgency=low + + * New upstream release (revision 1406) + + -- Kervala Sun, 13 Mar 2011 19:07:44 +0100 + +ryzom-core (0.7.1404~karmic0) karmic; urgency=low + + * New upstream release (revision 1404) + + -- Kervala Thu, 10 Mar 2011 20:13:35 +0100 + +ryzom-core (0.7.1122~karmic0) karmic; urgency=low + + * New upstream release (revision 1122) + + -- Kervala Thu, 25 Nov 2010 13:18:41 +0100 + +ryzom-core (0.7.992~karmic0) karmic; urgency=low + + * New upstream release (revision 992) + + -- Kervala Tue, 19 Oct 2010 13:44:23 +0200 + +ryzom-core (0.7.941~karmic0) karmic; urgency=low + + * New upstream release (revision 941) + + -- Kervala Sat, 16 Oct 2010 14:59:36 +0200 + +ryzom-core (0.7.933~karmic0) karmic; urgency=low + + * New upstream release (revision 933) + + -- Kervala Fri, 15 Oct 2010 22:29:44 +0200 + +ryzom-core (0.7.932~karmic0) karmic; urgency=low + + * New upstream release (revision 932) + + -- Kervala Fri, 15 Oct 2010 19:53:47 +0200 + +ryzom-core (0.7.666~karmic0) karmic; urgency=low + + * New upstream release (revision 666) + + -- Kervala Sun, 29 Aug 2010 17:56:06 +0200 + +ryzom-core (0.7.631~karmic0) karmic; urgency=low + + * New upstream release (revision 631) + + -- Kervala Thu, 12 Aug 2010 16:57:30 +0200 + +ryzom-core (0.7.614~lucid1) lucid; urgency=low + + * Fixed dependencies + + -- Kervala Sun, 08 Aug 2010 22:42:50 +0200 + +ryzom-core (0.7.614~lucid0) lucid; urgency=low + + * New upstream release (revision 614) + + -- Kervala Sun, 08 Aug 2010 21:53:00 +0200 + +ryzom-core (0.7.583~lucid1) lucid; urgency=low + + * Added dependency on libogg and libvorbis + + -- Kervala Sun, 01 Aug 2010 15:38:40 +0200 + +ryzom-core (0.7.583~lucid0) lucid; urgency=low + + * New upstream release (revision 583) + + -- Kervala Sun, 01 Aug 2010 14:43:28 +0200 + +ryzom-core (0.7.530~lucid0) lucid; urgency=low + + * New upstream release (revision 530) + + -- Kervala Sun, 25 Jul 2010 16:50:57 +0200 + +ryzom-core (0.7.519~lucid0) lucid; urgency=low + + * New upstream release (revision 519) + + -- Kervala Mon, 19 Jul 2010 22:24:05 +0200 + +ryzom-core (0.7.507~lucid0) lucid; urgency=low + + * New upstream release (revision 507) + + -- Kervala Sat, 17 Jul 2010 19:56:35 +0200 + +ryzom-core (0.7.474~lucid0) lucid; urgency=low + + * New upstream release (revision 474) + + -- Kervala Tue, 13 Jul 2010 08:56:24 +0200 + +ryzom-core (0.7.473~lucid1) lucid; urgency=low + + * Some fixes + + -- Kervala Mon, 12 Jul 2010 22:46:16 +0200 + +ryzom-core (0.7.473~lucid0) lucid; urgency=low + + * New upstream release (revision 473) + + -- Kervala Mon, 12 Jul 2010 22:04:30 +0200 + +ryzom-core (0.7.437~lucid1) lucid; urgency=low + + * Fixed drivers installation + + -- Kervala Thu, 08 Jul 2010 08:54:02 +0200 + +ryzom-core (0.7.437~lucid0) lucid; urgency=low + + * New upstream release (revision 437) + + -- Kervala Thu, 01 Jul 2010 20:07:14 +0200 + +ryzom-core (0.7.419~lucid0) lucid; urgency=low + + * New upstream release (revision 419) + + -- Kervala Sat, 26 Jun 2010 18:58:36 +0200 + +ryzom-core (0.7.411~lucid0) lucid; urgency=low + + * New upstream release (revision 411) + + -- Kervala Sat, 26 Jun 2010 11:00:47 +0200 + +ryzom-core (0.7.404~lucid1) lucid; urgency=low + + * Fix OpenAL driver + + -- Kervala Thu, 24 Jun 2010 23:06:51 +0200 + +ryzom-core (0.7.404~lucid0) lucid; urgency=low + + * New upstream release (revision 404) + + -- Kervala Thu, 24 Jun 2010 22:17:36 +0200 + +ryzom-core (0.7.394~lucid0) lucid; urgency=low + + * New upstream release (revision 394) + + -- Kervala Tue, 22 Jun 2010 06:53:15 +0200 + +ryzom-core (0.7.375~lucid0) lucid; urgency=low + + * New upstream release (revision 375) + + -- Kervala Wed, 16 Jun 2010 12:46:51 +0200 + +ryzom-core (0.7.371~lucid0) lucid; urgency=low + + * New upstream release (revision 371) + + -- Kervala Mon, 14 Jun 2010 22:48:27 +0200 + +ryzom-core (0.7.359~lucid0) lucid; urgency=low + + * New upstream release (revision 359) + + -- Kervala Sun, 13 Jun 2010 21:31:29 +0200 + +ryzom-core (0.7.350~lucid1) lucid; urgency=low + + * Fixes problem with "copy" files + + -- Kervala Sun, 13 Jun 2010 10:36:30 +0200 + +ryzom-core (0.7.350~lucid0) lucid; urgency=low + + * New upstream release (revision 350) + + -- Kervala Sun, 13 Jun 2010 09:55:38 +0200 + +ryzom-core (0.7.332~lucid0) lucid; urgency=low + + * New upstream release (revision 332) + + -- Kervala Sat, 12 Jun 2010 09:09:21 +0200 + +ryzom-core (0.7.317~lucid0) lucid; urgency=low + + * New upstream release (revision 317) + + -- Kervala Thu, 10 Jun 2010 13:11:28 +0200 + +ryzom-core (0.7.315~lucid0) lucid; urgency=low + + * Fixed pkg-config installation again + + -- Kervala Thu, 10 Jun 2010 08:19:44 +0200 + +ryzom-core (0.7.311~lucid2) lucid; urgency=low + + * Fixed pkg-config files + + -- Kervala Wed, 09 Jun 2010 22:58:15 +0200 + +ryzom-core (0.7.311~lucid1) lucid; urgency=low + + * Fixed dependencies versions + + -- Kervala Wed, 09 Jun 2010 22:27:00 +0200 + +ryzom-core (0.7.311~lucid0) lucid; urgency=low + + * New upstream version (revision 311). + + -- Kervala Wed, 09 Jun 2010 21:15:42 +0200 + +ryzom-core (0.7.304~lucid0) lucid; urgency=low + + * New upstream version (revision 304). + + -- Kervala Wed, 09 Jun 2010 08:34:10 +0200 + +ryzom-core (0.7.0-1) unstable; urgency=low + + [ Gürkan Sengün ] + * New upstream version. (Closes: #553248) + * Updated build dependencies. + + [ Michal Čihař ] + * Convert to dh with cmake support. + * Bump standards to 3.8.4. + + [ Luboš Novák ] + * Change maintainer to 'Debian Games Team' + * ftbfs_gcc_4.5.path: Fix build with g++-4.5. (Closes: #565104) + * Converted direct changes in source to patches. + * Enable building CEGUI renderer. + * Add package libnel-doc with documentation. + * debian/control + + Changed priority of libnel-dbg to extra. + + Remove duplicate Section in libnel0. + + Update short descriptions. + + Replace obsolete package xlibmesa-gl-dev with libgl1-mesa-dev + in build-depends. + + Add libpng-dev to build-depends. + + Remove libalut-dev from build-depends. + + New homepage. + + Supported architectures are i386 and amd64. + * debian/libnel-dev.dirs + + Remove empty dir usr/lib/nel. + * debian/copyright + + Update redistribution licence from GPL to GPL-2. + * debian/rules + + Disable building unit test, samples and tools. + + -- Luboš Novák Tue, 30 Mar 2010 10:29:23 +0100 + +ryzom-core (0.5.0-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Change Build-Depends: libstlport5.2-dev. (Closes: #521762) + + -- Torsten Werner Sun, 28 Jun 2009 11:54:05 +0200 + +ryzom-core (0.5.0-1) unstable; urgency=low + + * Initial release. (Closes: #448067) + + -- Gürkan Sengün Tue, 23 Oct 2007 12:56:45 +0200 + diff --git a/dist/debian/precise/debian/client_default.cfg b/dist/debian/precise/debian/client_default.cfg new file mode 100644 index 000000000..d09cbbb9c --- /dev/null +++ b/dist/debian/precise/debian/client_default.cfg @@ -0,0 +1,567 @@ +////////////////////////// +////////////////////////// +/// CLIENT CONFIG FILE /// +////////////////////////// +////////////////////////// + + +// If you set this variable to 1, your client.cfg will be overwritten when you quit the client. +// You will loose all the comments and identation in this file. +SaveConfig = 1; + +/////////////////// +// WINDOW CONFIG // +/////////////////// + +Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2" + // "Auto" will choose the best suited driver depending on hardware +FullScreen = 0; +Width = 1024; +Height = 768; +PositionX = 0; +PositionY = 0; +Frequency = 60; +Depth = 32; +Sleep = -1; +ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time +Contrast = 0.0; // -1.0 ~ 1.0 +Luminosity = 0.0; // -1.0 ~ 1.0 +Gamma = 0.0; // -1.0 ~ 1.0 +Contrast_min = -1.0; +Luminosity_min = -1.0; +Gamma_min = -1.0; +Contrast_max = 1.0; +Luminosity_max = 1.0; +Gamma_max = 1.0; + + +///////////// +// NETWORK // +///////////// + +Application = { "ryzom_live", "./client_ryzom_r.exe", "./" }; +BackgroundDownloader = 0; +PatchServer = "http://dl.ryzom.com/patch_live"; +SignUpURL = "http://www.ryzom.com/subscribe"; +StartupHost = "shard.ryzom.com:40916"; +StartupPage = "/login/r2_login.php"; +InstallStatsUrl = "http://shard.ryzom.com:50000/stats/stats.php"; +CreateAccountURL = "https://secure.ryzom.com/signup/from_client.php"; +InstallWebPage = "http://dl.ryzom.com/installer/"; + + +//////////////// +// INTERFACES // +//////////////// + +// the language to use as in ISO 639-2 +LanguageCode = "en"; // english + +XMLInputFile = "input_config_v3.xml"; + +XMLLoginInterfaceFiles = { + "login_config.xml", + "login_widgets.xml", + "login_main.xml", + "login_keys.xml", +}; + +XMLOutGameInterfaceFiles = { + "out_v2_config.xml", + "out_v2_widgets.xml", + "out_v2_connect.xml", + "out_v2_intro.xml", + "out_v2_select.xml", + "out_v2_appear.xml", + "out_v2_location.xml", + "out_v2_crash.xml", + "out_v2_hierarchy.xml", + "out_v2_keys.xml", +}; + +// The ligo primitive class file +LigoPrimitiveClass = "world_editor_classes.xml"; + +VerboseLog = 1; + +/////////// +// MOUSE // +/////////// +HardwareCursor = 1; + +CursorSpeed = 1.0; // In pixels per mickey +CursorSpeed_min = 0.5; +CursorSpeed_max = 2.0; + +CursorAcceleration = 40; // Threshold in mickey +CursorAcceleration_min = 20; +CursorAcceleration_max = 80; + +FreeLookSpeed = 0.004; // In radian per mickey +FreeLookSpeed_min = 0.0001; +FreeLookSpeed_max = 0.01; + +FreeLookAcceleration = 40; // Threshold in mickey +FreeLookAcceleration_min = 20; +FreeLookAcceleration_max = 80; + +FreeLookInverted = 0; +AutomaticCamera = 0; +DblClickMode = 1; +AutoEquipTool = 1; + +/////////////////// +// RENDER CONFIG // +/////////////////// + +// NB: thoses variables configure also the InGameConfigurator: +// _min and _max define the bounds +// _step defines the step (NB: take care of _min and _max!!) +// _ps0 is the LOW preset, _ps1 is the MEDIUM preset, _ps2 is the NORMAL Preset, and _ps3 is the HIGH one + + +// *** LANDSCAPE +LandscapeTileNear = 150.000000; +LandscapeTileNear_min = 20.000000; +LandscapeTileNear_max = 250.000000; +LandscapeTileNear_step = 10.0; +LandscapeTileNear_ps0 = 20.0; +LandscapeTileNear_ps1 = 100.0; +LandscapeTileNear_ps2 = 150.0; +LandscapeTileNear_ps3 = 200.0; + +// NB: threshold is inverted ULandscape::setThreshold(), to be more intelligible +LandscapeThreshold = 2000.0; +LandscapeThreshold_min = 100.0; // Low quality => 0.01 threshold +LandscapeThreshold_max = 4000.0; // High quality => 0.0005 threshold +LandscapeThreshold_step = 100.0; +LandscapeThreshold_ps0 = 100.0; +LandscapeThreshold_ps1 = 1000.0; +LandscapeThreshold_ps2 = 2000.0; +LandscapeThreshold_ps3 = 3000.0; + +Vision = 500.000000; +Vision_min = 200.000000; +Vision_max = 800.000000; +Vision_step = 100.000000; +Vision_ps0 = 200.0; +Vision_ps1 = 400.0; +Vision_ps2 = 500.0; +Vision_ps3 = 800.0; + +MicroVeget = 1; // Enable/Disable MicroVeget. +MicroVeget_ps0 = 0; +MicroVeget_ps1 = 1; +MicroVeget_ps2 = 1; +MicroVeget_ps3 = 1; + +MicroVegetDensity = 80.0; +MicroVegetDensity_min = 10.0; +MicroVegetDensity_max = 100.0; +MicroVegetDensity_step = 10.0; +MicroVegetDensity_ps0 = 10.0; // not used since disabled! +MicroVegetDensity_ps1 = 30.0; +MicroVegetDensity_ps2 = 80.0; +MicroVegetDensity_ps3 = 100.0; + + +// *** FX +FxNbMaxPoly = 20000; +FxNbMaxPoly_min = 2000; +FxNbMaxPoly_max = 50000; +FxNbMaxPoly_step= 2000; +FxNbMaxPoly_ps0 = 2000; +FxNbMaxPoly_ps1 = 10000; +FxNbMaxPoly_ps2 = 20000; +FxNbMaxPoly_ps3 = 50000; + +Cloud = 1; +Cloud_ps0 = 0 ; +Cloud_ps1 = 1 ; +Cloud_ps2 = 1 ; +Cloud_ps3 = 1 ; + +CloudQuality = 160.0; +CloudQuality_min = 80.0; +CloudQuality_max = 320.0; +CloudQuality_step = 20.0; +CloudQuality_ps0 = 80.0; // not used since disabled! +CloudQuality_ps1 = 80.0; +CloudQuality_ps2 = 160.0; +CloudQuality_ps3 = 320.0; + +CloudUpdate = 1; +CloudUpdate_min = 1; +CloudUpdate_max = 8; +CloudUpdate_step= 1; +CloudUpdate_ps0 = 1; // not used since disabled! +CloudUpdate_ps1 = 1; +CloudUpdate_ps2 = 1; +CloudUpdate_ps3 = 3; + +Shadows = 1; +Shadows_ps0 = 0; +Shadows_ps1 = 1; +Shadows_ps2 = 1; +Shadows_ps3 = 1; + +Bloom = 0; +Bloom_ps0 = 0; +Bloom_ps1 = 1; +Bloom_ps2 = 1; +Bloom_ps3 = 1; + +SquareBloom = 1; +SquareBloom_ps0 = 0; +SquareBloom_ps1 = 1; +SquareBloom_ps2 = 1; +SquareBloom_ps3 = 1; + +DensityBloom = 255.0; +DensityBloom_min = 0.0; +DensityBloom_max = 255.0; +DensityBloom_step = 1.0; +DensityBloom_ps0 = 255.0; +DensityBloom_ps1 = 255.0; +DensityBloom_ps2 = 255.0; +DensityBloom_ps3 = 255.0; + + +// *** CHARACTERS +SkinNbMaxPoly = 100000; +SkinNbMaxPoly_min = 5000; +SkinNbMaxPoly_max = 250000; +SkinNbMaxPoly_step = 5000; +SkinNbMaxPoly_ps0 = 10000; +SkinNbMaxPoly_ps1 = 70000; +SkinNbMaxPoly_ps2 = 100000; +SkinNbMaxPoly_ps3 = 200000; + +NbMaxSkeletonNotCLod = 125; +NbMaxSkeletonNotCLod_min = 5; +NbMaxSkeletonNotCLod_max = 255; +NbMaxSkeletonNotCLod_step = 5; +NbMaxSkeletonNotCLod_ps0 = 10; +NbMaxSkeletonNotCLod_ps1 = 50; +NbMaxSkeletonNotCLod_ps2 = 125; +NbMaxSkeletonNotCLod_ps3 = 255; + +CharacterFarClip = 200.0; +CharacterFarClip_min = 50.0; +CharacterFarClip_max = 500.0; +CharacterFarClip_step = 10.0; +CharacterFarClip_ps0 = 50.0; +CharacterFarClip_ps1 = 100.0; +CharacterFarClip_ps2 = 200.0; +CharacterFarClip_ps3 = 500.0; + +EnableRacialAnimation = 1; + +// *** MISC +// This is the actual aspect ratio of your screen (no relation with the resolution!!). Set 1.7777 if you got a 16/9 screen for instance +ScreenAspectRatio = 0.0; +ForceDXTC = 1; // Enable/Disable DXTC. +DivideTextureSizeBy2= 0; // Divide texture size +DisableVtxProgram = 0; // Disable Hardware Vertex Program. +DisableVtxAGP = 0; // Disable Hardware Vertex AGP. +DisableTextureShdr = 0; // Disable Hardware Texture Shader. +HDEntityTexture = 0; +HDTextureInstalled = 1; +WaitVBL = 0; // 0 or 1 to wait Vertical Sync. + +////////////////// +// GAME OPTIONS // +////////////////// +SelectWithRClick = 1; +DisplayWeapons = 1; +RotKeySpeedMax = 2.0; +RotKeySpeedMax_min = 1.0; +RotKeySpeedMax_max = 4.0; +RotKeySpeedMin = 1.0; +RotKeySpeedMin_min = 0.5; +RotKeySpeedMin_max = 2.0; +RotAccel = 3.0; +FollowOnAtk = 0; +AtkOnSelect = 0; +ZCPacsPrim = "gen_bt_col_ext.pacs_prim"; + +///////////////// +// PREFERENCES // +///////////////// +FPV = 0; // FPV(First Person View) : default is false (Third Person View). +CameraHeight = 2.2; // Camera Height (in meter) from the ground (for the Third Person View). +CameraDistance = 3.0; // Camera Distance(in meter) from the user (for the Third Person View). +CameraDistStep = 1.0; +CameraDistMin = 1.0; +CameraDistMax = 25.0; +CameraAccel = 5.0; +CameraSpeedMin = 2.0; +CameraSpeedMax = 100.0; +CameraResetSpeed = 10.0; // Speed in radian/s + +////////////////// +// SOUND CONFIG // +////////////////// +SoundForceSoftwareBuffer= 1; +SoundOn = 1; +UseEax = 0; + +MaxTrack = 32; +MaxTrack_min = 4; +MaxTrack_max = 32; +MaxTrack_step = 4; + +// This is the volume for "InGame" sound FXs +SoundSFXVolume = 1.0; +SoundSFXVolume_min = 0.0; +SoundSFXVolume_max = 1.0; +SoundSFXVolume_step = 0.001; + +// This is volume for "InGame" music. Does not affect the MP3 player +SoundGameMusicVolume = 0.5; +SoundGameMusicVolume_min = 0.0; +SoundGameMusicVolume_max = 1.0; +SoundGameMusicVolume_step = 0.001; + +// MISC +PreDataPath = { "user", "patch", "examples", "data/fonts", "data/gamedev.bnp" }; +DataPath = { "data" }; +NeedComputeVS = 0; + +NegFiltersDebug = {"Update DB", "Reading:", "Read Value :", "impulseCallBack", "CLIMPD:", "LNET" }; +NegFiltersInfo = { "CLIMPD:", "CPath::lookup" , "LNET" }; +NegFiltersWarning = { "'basics.Equipment Slot'.", "_usercolor.tga", "PACS" }; + +// Big screen shot +ScreenShotWidth = 0; +ScreenShotHeight = 0; +ScreenShotFullDetail = 1; // 1 to switch full detail mode for characters (both standard & big screenshots) + +// Read : "ID", "R G B A MODE [FX]" +SystemInfoColors = +{ +// OLD STUFF Here for compatibility +"RG", "0 0 0 255 normal", // Black to see when there is an error +"BC", "0 0 0 255 normal", // Black to see when there is an error +"JA", "0 0 0 255 normal", // Black to see when there is an error +"BL", "0 0 0 255 normal", // Black to see when there is an error +"VE", "0 0 0 255 normal", // Black to see when there is an error +"VI", "0 0 0 255 normal", // Black to see when there is an error + +// NEW System Info Categories +"SYS", "255 255 255 255 normal", // Default system messages +"BC", "255 255 255 255 centeraround", // Broadcast messages +"TAGBC", "255 255 255 255 centeraround", // Taged broadcast messages : color should remain white as some word are tagged +"XP", "255 255 64 255 over", // XP Gain +"SP", "255 255 64 255 over", // SP Gain +"TTL", "255 255 64 255 over", // Title +"TSK", "255 255 255 255 over", // Task +"ZON", "255 255 255 255 center", // Zone +"DG", "255 0 0 255 normal", // Damage to me +"DMG", "255 0 0 255 normal", // Damage to me +"DGP", "200 0 0 255 normal", // Damage to me from player +"DGM", "255 128 64 255 normal", // Damage from me +"MIS", "150 150 150 255 normal", // The opponent misses +"MISM", "255 255 255 255 normal", // I miss +"ITM", "0 200 0 255 over", // Item +"ITMO", "170 170 255 255 overonly", // Item other in group +"ITMF", "220 0 220 255 over", // Item failed +"SPL", "50 50 250 255 normal", // Spell to me +"SPLM", "50 150 250 255 normal", // Spell from me +"EMT", "255 150 150 255 normal", // Emote +"MTD", "255 255 0 255 over", // Message Of The Day +"FORLD","64 255 64 255 overonly", // Forage Locate Deposit +"CHK", "255 120 60 255 center", // Tous ce qui ne remplit pas une condition +"CHKCB","255 255 0 255 center", // Tous ce qui ne remplit pas une condition en combat (trop loin, cible invalide, pas assez de mana, etc.) +"PVPTM","255 120 60 255 overonly", // PVP timer +"THM", "255 255 64 255 over misc_levelup.ps", // Thema finished +"AMB", "255 255 64 255 center", // Ambiance +"ISE", "192 208 255 255 normal", // Item special effect +"ISE2", "192 208 255 255 center", // Item special effect with center text (for effects without flying text) +"OSM", "128 160 255 255 center", // Outpost state message +"AROUND","255 255 0 255 around", // Only in around channel +"R2_INVITE","0 255 0 255 around", // Ring invitation +}; + +PrintfCommands = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +PrintfCommandsFreeTrial = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +DisplayMissingAnimFile = 0; + +LoadingStringCount = 54; + + +// Some R2 parameters ... + +R2Mode = 1; +R2EDEnabled = 1; +R2EDExtendedDebug = 0; +R2EDLightPalette = 0; +R2ClientGw = "r2linux01"; +LoadLuaDebugger = 0; +CheckR2ScenarioMD5 = 1; +LevelDesignEnabled = 0; + +DmCameraDistMax = 25; +DmRun = 20; +DmWalk = 6; + +R2EDReloadFiles = { + "r2ed.xml", + "r2_basic_bricks.lua", + "r2_components.lua", + "r2_core.lua", + "r2_features_default.lua", + "r2_features_fauna.lua", + "r2_features_npc_groups.lua", + "r2_palette.lua", + "r2_scenario.lua", + "r2_ui.lua" +}; + +XMLInterfaceFiles = { + "config.xml", + "widgets.xml", + "webig_widgets.xml", + "player.xml", + "inventory.xml", + "interaction.xml", + "phrase.xml", + "harvest.xml", + "macros.xml", + "info_player.xml", + "outpost.xml", + "guild.xml", + "taskbar.xml", + "game_config.xml", + "game_context_menu.xml", + "player_trade.xml", + "bot_chat_v4.xml", + "compass.xml", + "map.xml", + "hierarchy.xml", + "reset.xml", + "actions.xml", + "help.xml", + "encyclopedia.xml", + "commands.xml", + "commands2.xml", + "ring_access_point_filter.xml", + "ring_window.xml", + "bg_downloader.xml" +}; + +XMLR2EDInterfaceFiles = +{ + "r2ed.xml", + "r2_triggers.xml", + "r2_logic_entities.xml", + "r2ed_acts.xml", + "r2ed_scenario.xml", + "r2ed_connect.xml" +}; + +FogDistAndDepthLookupBias = 20; // bias for lookup of fog distance and depth + + +// Hardware cursor textures +// These will be extracted from the corresponding packed ui .tga files when they are loaded +// * +// * individual .tga files for hardware cursor bitmap not looked for, and not supported yet +HardwareCursors = +{ + "curs_can_pan.tga", + "curs_can_pan_dup.tga", + "curs_create.tga", + "curs_create_multi.tga", + "curs_create_vertex_invalid.tga", + "curs_default.tga", + "curs_dup.tga", + "curs_L.tga", + "curs_M.tga", + "curs_pan.tga", + "curs_pan_dup.tga", + "curs_pick.tga", + "curs_pick_dup.tga", + "curs_R.tga", + "curs_resize_BL_TR.tga", + "curs_resize_BR_TL.tga", + "curs_resize_LR.tga", + "curs_resize_TB.tga", + "curs_rotate.tga", + "curs_scale.tga", + "curs_stop.tga", + "text_cursor.tga", + "r2_hand_can_pan.tga", + "r2_hand_pan.tga", + "r2ed_tool_can_pick.tga", + "r2ed_tool_can_rotate.tga", + "r2ed_tool_pick.tga", + "r2ed_tool_rotate.tga", + "r2ed_tool_rotating.tga" +}; + +Loading_BG = "new_loading_bg.tga"; // Default name for the loading background file. +Launch_BG = "new_launcher_bg.tga"; // Default name for the launch background file. +TeleportKami_BG = "new_teleport_kami_bg.tga"; +TeleportKaravan_BG = "new_teleport_caravan_bg.tga"; +Elevator_BG = "new_elevator_bg.tga"; // Default name for the loading background file. +ResurectKami_BG = "new_resurect_kami_bg.tga"; +ResurectKaravan_BG = "new_resurect_caravane_bg.tga"; +End_BG = "end_bg.tga"; // Default name for the last background file. + +ScenarioSavePath = "./my_scenarios/"; + +// list ofpredefined keyset +// name will be looked up in the translation file by searching 'uiCP_KeysetName_" + id +// tooltip will be looked up in the translation file by searching 'uiCP_KeysetTooltip_" + id +// 'bi.' stands for built-in +// note : we add a dot in the name to be sure that there cannot be a conflict with character keyset name +BuiltInKeySets = +{ + "", // default ryzom keyboard layout + "bi.zqsd", // european keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is french or belgian) + "bi.wasd", // english keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is not french nor belgian) + "bi.wow_alike" // 'world of warcraft' like keyboard style. (NB : not available for ring) +}; + +// "Newbie Training", "Story Telling", "Mistery", "Hack & Slash", "Guild Training", "Other" +ScenarioTypes = {"so_newbie_training","so_story_telling","so_mistery","so_hack_slash","so_guild_training","so_other"}; + +ScenarioLanguages = {"fr","de","en","other_lang"}; + +// Map each language to a forum help page +HelpPages = +{ + "fr=http://forums.ryzom.com/forum/showthread.php?t=29130", + "en=http://forums.ryzom.com/forum/showthread.php?t=29129", + "wk=http://forums.ryzom.com/forum/showthread.php?t=29129", + "de=http://forums.ryzom.com/forum/showthread.php?t=29131" +}; + +WebIgMainDomain = "app.ryzom.com"; +WebIgTrustedDomains = { + "api.ryzom.com", "app.ryzom.com" +}; +PatchletUrl = "http://app.ryzom.com/app_patchlet/index.php?patch=preload"; + +SelectedSlot = 0; + +BuildName = "RELEASE_HEAD"; diff --git a/dist/debian/precise/debian/compat b/dist/debian/precise/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/dist/debian/precise/debian/compat @@ -0,0 +1 @@ +9 diff --git a/dist/debian/precise/debian/control b/dist/debian/precise/debian/control new file mode 100644 index 000000000..cf8840bb2 --- /dev/null +++ b/dist/debian/precise/debian/control @@ -0,0 +1,212 @@ +Source: ryzom-core +Priority: extra +Maintainer: Debian Games Team +Uploaders: Luboš Novák , Cédric OCHS +Build-Depends: debhelper (>= 9), cmake(>= 2.6), libxml2-dev, + libgl1-mesa-dev, libjpeg8-dev | libjpeg62-dev, libpng12-dev, libopenal-dev, + libfreetype6-dev, libxxf86vm-dev, libxrandr-dev, libxrender-dev, + libvorbis-dev, libsquish-dev, libcurl4-openssl-dev, libluabind-dev, + libboost-dev, libwww-dev, libmysqlclient-dev, + libcpptest-dev, libqt4-dev, libqt4-opengl-dev +Standards-Version: 3.9.3 +Section: games +Bugs: http://dev.ryzom.com/projects/ryzom/issues +Homepage: http://dev.ryzom.com +Vcs-Svn: svn://svn.debian.org/svn/pkg-games/packages/trunk/nel/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-games/packages/trunk/nel/?op=log + +Package: libnel0 +Section: libdevel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Massive multi-user 3D game environments library (shared library) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the shared library. + +Package: libnel-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (development files) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the headers. + +Package: libnel0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the debugging symbols. + +Package: nel-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools. + +Package: nel-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, nel-tools (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools debugging symbols. + +Package: libryzom-sevenzip0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Ryzom science-fantasy MMORPG (decompression library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library. + +Package: libryzom-sevenzip0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-sevenzip0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (decompression library debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library debugging symbols. + +Package: libryzom-gameshare0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common shared library. + +Package: libryzom-gameshare0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common debugging symbols. + +Package: libryzom-clientsheets0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets shared library. + +Package: libryzom-clientsheets0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets debugging symbols. + +Package: ryzom-client +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}), + ryzom-client-config (>= ${source:Version}), rsync, wget, p7zip-full +Description: Ryzom science-fantasy MMORPG (client) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game client. + +Package: ryzom-client-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-client (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client debugging symbols. + +Package: ryzom-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools. + +Package: ryzom-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-tools (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools debugging symbols. + +Package: ryzom-client-config +Architecture: all +Depends: ${misc:Depends} +Description: Ryzom science-fantasy MMORPG (client configuration) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client configuration. diff --git a/dist/debian/precise/debian/copyright b/dist/debian/precise/debian/copyright new file mode 100644 index 000000000..d5a0f2f10 --- /dev/null +++ b/dist/debian/precise/debian/copyright @@ -0,0 +1,53 @@ +This package was debianized by Gürkan Sengün on +Tue, 23 Oct 2007 12:56:45 +0200. + +It was downloaded from + +Upstream Authors: + + Olivier Cado + Bertram Felgenhauer + Krzysztof Kotlenga + Henri Kuuste + Vianney Lecroart + Namine + Cédric Ochs + Guillaume Puzin + Matt Raykowski + Robert Timm + Titegus + Ulukyn + Robert Wetzel + Zorglor + TODO: take names from Ryzom credits + +Copyright: + + Copyright (C) 2003-2009 Vianney Lecroart + Copyright (C) 2003-2009 Matt Raykowski + Copyright (C) 2000-2006 Nevrax Ltd. + Copyright (C) 2006-2007 Gameforge France + Copyright (C) 2008-2010 Winch Gate Property Limited + +License: + + 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 . + +The Debian packaging is: + + Copyright (C) 2007 Gürkan Sengün + +and is licensed under the GPL version 2, +see `/usr/share/common-licenses/GPL-2'. + diff --git a/dist/debian/precise/debian/docs b/dist/debian/precise/debian/docs new file mode 100644 index 000000000..58e5e3e76 --- /dev/null +++ b/dist/debian/precise/debian/docs @@ -0,0 +1,2 @@ +changelog +README diff --git a/dist/debian/precise/debian/libnel-dev.docs b/dist/debian/precise/debian/libnel-dev.docs new file mode 100644 index 000000000..ba8894c15 --- /dev/null +++ b/dist/debian/precise/debian/libnel-dev.docs @@ -0,0 +1,2 @@ +README + diff --git a/dist/debian/precise/debian/libnel-dev.install b/dist/debian/precise/debian/libnel-dev.install new file mode 100644 index 000000000..9f9310cee --- /dev/null +++ b/dist/debian/precise/debian/libnel-dev.install @@ -0,0 +1,3 @@ +usr/include/* +usr/lib/*/libnel*.so +usr/lib/*/pkgconfig/* diff --git a/dist/debian/precise/debian/libnel-dev.manpages b/dist/debian/precise/debian/libnel-dev.manpages new file mode 100644 index 000000000..bb4027ca9 --- /dev/null +++ b/dist/debian/precise/debian/libnel-dev.manpages @@ -0,0 +1 @@ +debian/nel-config.1 diff --git a/dist/debian/precise/debian/libnel-doc.doc-base.nel b/dist/debian/precise/debian/libnel-doc.doc-base.nel new file mode 100644 index 000000000..6ae95fc9f --- /dev/null +++ b/dist/debian/precise/debian/libnel-doc.doc-base.nel @@ -0,0 +1,9 @@ +Document: nel +Title: NeL Reference Manual +Author: Nevrax +Abstract: This is a software platform for creating and running massively multi-user entertainment in a 3D environment over the Internet. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libnel-doc/html/index.html +Files: /usr/share/doc/libnel-doc/html/*.html diff --git a/dist/debian/precise/debian/libnel-doc.install b/dist/debian/precise/debian/libnel-doc.install new file mode 100644 index 000000000..bf3f02a61 --- /dev/null +++ b/dist/debian/precise/debian/libnel-doc.install @@ -0,0 +1 @@ +usr/share/doc/libnel-doc/html/* diff --git a/dist/debian/precise/debian/libnel0.install b/dist/debian/precise/debian/libnel0.install new file mode 100644 index 000000000..4273c0ad1 --- /dev/null +++ b/dist/debian/precise/debian/libnel0.install @@ -0,0 +1,3 @@ +usr/lib/*/libnel*.so.* +usr/lib/*/nel/libnel_drv_openal.so +usr/lib/*/nel/libnel_drv_opengl.so diff --git a/dist/debian/precise/debian/libryzom-clientsheets0.install b/dist/debian/precise/debian/libryzom-clientsheets0.install new file mode 100644 index 000000000..b5ea5b79c --- /dev/null +++ b/dist/debian/precise/debian/libryzom-clientsheets0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_clientsheets.so.* + diff --git a/dist/debian/precise/debian/libryzom-gameshare0.install b/dist/debian/precise/debian/libryzom-gameshare0.install new file mode 100644 index 000000000..2f51b0804 --- /dev/null +++ b/dist/debian/precise/debian/libryzom-gameshare0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_gameshare.so.* + diff --git a/dist/debian/precise/debian/libryzom-sevenzip0.install b/dist/debian/precise/debian/libryzom-sevenzip0.install new file mode 100644 index 000000000..1edced3f8 --- /dev/null +++ b/dist/debian/precise/debian/libryzom-sevenzip0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_sevenzip.so.* + diff --git a/dist/debian/precise/debian/nel-config.1 b/dist/debian/precise/debian/nel-config.1 new file mode 100644 index 000000000..be47bf496 --- /dev/null +++ b/dist/debian/precise/debian/nel-config.1 @@ -0,0 +1,37 @@ +.TH nel-config 1 "26 Oct 2007" +.SH NAME +nel-config \- Get information about a libnel installation +.SH SYNOPSIS +.B nel-config [options] +.SH DESCRIPTION +.B nel-config +displays information about a libnel installation. +.SH OPTIONS +.IP "--cflags" +Set of compiler options (CFLAGS) to use when compiling files that use +libnel. Currently that is only thw include path to the nel include files. +.IP "--libs" +Shows the complete set of libs and other linker options you will need in order +to link your application with libnel. +.IP "--prefix" +This is the prefix used when libnel was installed. libnel is then installed +in $prefix/lib and its header files are installed in $prefix/include and so +on. The prefix is set with "configure \-\-prefix". +.IP "--version" +Outputs version information about the installed libnel. +.SH "EXAMPLES" +What linker options do I need when I link with libnel? + + $ nel-config \-\-libs + +What compiler options do I need when I compile using libnel functions? + + $ nel-config \-\-cflags + +What's the installed libnel version? + + $ nel-config \-\-version +.SH AUTHOR +.PP +This manual page was written by G\[:u]rkan Seng\[:u]n +,for the Debian project (but may be used by others). diff --git a/dist/debian/precise/debian/nel-tools.install b/dist/debian/precise/debian/nel-tools.install new file mode 100644 index 000000000..4ca03208c --- /dev/null +++ b/dist/debian/precise/debian/nel-tools.install @@ -0,0 +1,87 @@ +etc/nel/build_ig_boxes.cfg +etc/nel/build_indoor_rbank.cfg +etc/nel/build_rbank.cfg +etc/nel/make_sheet_id.cfg +etc/nel/words_dic.cfg +etc/nel/zviewer.cfg +usr/bin/animation_set_builder +usr/bin/anim_builder +usr/bin/bnp_make +usr/bin/build_clod_bank +usr/bin/build_clodtex +usr/bin/build_coarse_mesh +usr/bin/build_far_bank +usr/bin/build_ig_boxes +usr/bin/build_indoor_rbank +usr/bin/build_interface +usr/bin/build_rbank +usr/bin/build_samplebank +usr/bin/build_shadow_skin +usr/bin/build_smallbank +usr/bin/build_sound +usr/bin/build_soundbank +usr/bin/cluster_viewer +usr/bin/disp_sheet_id +usr/bin/extract_filename +usr/bin/file_info +usr/bin/georges2csv +usr/bin/get_neighbors +usr/bin/hls_bank_maker +usr/bin/ig_add +usr/bin/ig_info +usr/bin/ig_lighter +usr/bin/lock +usr/bin/make_sheet_id +usr/bin/memlog +usr/bin/message_box_qt +usr/bin/nl_probe_timers +usr/bin/nl_sample_chatclient +usr/bin/nl_sample_chatserver +usr/bin/nl_sample_clusterview +usr/bin/nl_sample_command +usr/bin/nl_sample_configfile +usr/bin/nl_sample_ct_ai_service +usr/bin/nl_sample_ct_gd_service +usr/bin/nl_sample_debug +usr/bin/nl_sample_font +usr/bin/nl_sample_georges +usr/bin/nl_sample_i18n +usr/bin/nl_sample_log +usr/bin/nl_sample_ls_client +usr/bin/nl_sample_ls_fes +usr/bin/nl_sample_pacs +usr/bin/nl_sample_shapeview +usr/bin/nl_sample_sound_sources +usr/bin/nl_sample_stream_file +usr/bin/nl_sample_stream_ogg_vorbis +usr/bin/nl_sample_strings +usr/bin/nl_sample_udpclient +usr/bin/nl_sample_udpserver +usr/bin/panoply_maker +usr/bin/shapes_exporter +usr/bin/tga2dds +usr/bin/tga_cut +usr/bin/tga_resize +usr/bin/tile_edit_qt +usr/bin/words_dic_qt +usr/bin/xml_packer +usr/bin/zone_check_bind +usr/bin/zone_dependencies +usr/bin/zone_dump +usr/bin/zone_ig_lighter +usr/bin/zone_lighter +usr/bin/zone_welder +usr/bin/zviewer +usr/lib/*/libs3tc_compressor.so.* +usr/share/nel/nl_sample_chat +usr/share/nel/nl_sample_class_transport +usr/share/nel/nl_sample_clusterview +usr/share/nel/nl_sample_configfile +usr/share/nel/nl_sample_font +usr/share/nel/nl_sample_georges +usr/share/nel/nl_sample_i18n +usr/share/nel/nl_sample_login_system +usr/share/nel/nl_sample_pacs +usr/share/nel/nl_sample_sound +usr/share/nel/nl_sample_udp +usr/share/nel/zviewer diff --git a/dist/debian/precise/debian/rules b/dist/debian/precise/debian/rules new file mode 100755 index 000000000..2b329f3be --- /dev/null +++ b/dist/debian/precise/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f +%: + dh $@ --buildsystem=cmake --parallel + +override_dh_strip: + dh_strip -plibnel0 --dbg-package=libnel0-dbg + dh_strip -pnel-tools --dbg-package=nel-tools-dbg + dh_strip -plibryzom-sevenzip0 --dbg-package=libryzom-sevenzip0-dbg + dh_strip -plibryzom-gameshare0 --dbg-package=libryzom-gameshare0-dbg + dh_strip -plibryzom-clientsheets0 --dbg-package=libryzom-clientsheets0-dbg + dh_strip -pryzom-client --dbg-package=ryzom-client-dbg + dh_strip -pryzom-tools --dbg-package=ryzom-tools-dbg + +override_dh_auto_configure: + dh_auto_configure -- -DLIBRARY_ARCHITECTURE=$(DEB_HOST_MULTIARCH) -DTARGET_CPU=$(DEB_HOST_GNU_CPU) -DWITH_SYMBOLS=ON -DNL_ETC_PREFIX=/etc/nel -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/games/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/games -DWITH_RYZOM_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_LIBWWW_STATIC=ON -DWITH_QT=ON + +override_dh_install: + dh_install + install -m755 debian/ryzom debian/ryzom-client/usr/games/ryzom diff --git a/dist/debian/precise/debian/ryzom b/dist/debian/precise/debian/ryzom new file mode 100755 index 000000000..79923e9e9 --- /dev/null +++ b/dist/debian/precise/debian/ryzom @@ -0,0 +1,116 @@ +#!/bin/sh + +P7ZIP=/usr/bin/7z +RSYNC=/usr/bin/rsync +WGET=/usr/bin/wget +RYZOM_CLIENT=/usr/games/ryzom_client +RYZOM_CONFIG_DEFAULT=/etc/ryzom/client_default.cfg +RYZOM_CONFIG=~/.ryzom/client.cfg + +RYZOM_DIR=~/.ryzom +DATA_DIR=$RYZOM_DIR/data + +mkdir -p $RYZOM_DIR + +if [ ! -d "$DATA_DIR" ] +then + # symlink user's data dir to ryzom data cache + ln -s /var/cache/ryzom/data $DATA_DIR +fi + +# Check if a directory contains Ryzom data +ryzom_data_found() +{ + # Check for directory, gamedev.bnp and ryzom.ttf + COUNT=0 + + if [ -d $1 ] + then + # If there are a least 220 bnp files, we could use this directory + # There are 226 bnp files in last version + COUNT=$(find -L $1 -name *.bnp | wc -l) + fi + + echo $COUNT +} + +COUNT=$(ryzom_data_found $DATA_DIR) + +echo "Found $COUNT BNP files in $DATA_DIR" + +if [ $COUNT -lt 220 ] && [ -f $WGET ] && [ -f $P7ZIP ] +then + mkdir -p "$DATA_DIR/tmp" + + # Check free diskspace + echo "Checking for free disk space..." + DISKSPACE=$(df "$DATA_DIR/tmp" | grep "/dev" | awk '{print $4}') + if [ $? -ne 0 ] + then + exit 1 + fi + if [ "$DISKSPACE" -lt "8000000" ] + then + echo "You don't have enough free space to download and uncompress Ryzom client data." + exit 1 + fi + + # Download + echo "Downloading ryzom_client.7z from sourceforge..." + # wget + $WGET -c http://sourceforge.net/projects/ryzom/files/ryzom_client.7z -O "$DATA_DIR/tmp/ryzom_client.7z" + if [ $? -ne 0 ] + then + exit 1 + fi + + # Extract data + echo "Extracting data from ryzom_client.7z..." + cd "$DATA_DIR/tmp" + # 7z + $P7ZIP x ryzom_client.7z + if [ $? -ne 0 ] + then + exit 1 + fi + cd .. + mv -uf tmp/ryzom/data/* . + # Delete temporary downloaded files + rm -rf tmp +fi + +if [ -f $RYZOM_CONFIG ] +then + echo "Updating $RYZOM_CONFIG..." + + # Escape path for sed using bash find and replace + RYZOM_CONFIG_DEFAULT_ESCAPED=$(echo $RYZOM_CONFIG_DEFAULT | sed 's/\//\\\//g') + + # Update RootConfigFilename to be sure it's using the right default config + sed -i 's/RootConfigFilename.*/RootConfigFilename = \"'$RYZOM_CONFIG_DEFAULT_ESCAPED'\"/g' $RYZOM_CONFIG +fi + +if [ -f $RSYNC ] +then + echo "Patching Ryzom data..." + + # Rsync + $RSYNC -rOtzv --progress --stats www.ryzom.com::ryzom/data/ $DATA_DIR + if [ $? -ne 0 ] + then + exit 1 + fi +fi + +# Launch Ryzom client if it exists +if [ -f $RYZOM_CLIENT ] +then + echo "Launching Ryzom..." + + nohup $RYZOM_CLIENT $1 $2 $3 2> /dev/null & +fi + +# Wait until all previous commands are executed and displayed before exiting +sync + +exit 0 diff --git a/dist/debian/precise/debian/ryzom-client-config.install b/dist/debian/precise/debian/ryzom-client-config.install new file mode 100644 index 000000000..bef3f53dd --- /dev/null +++ b/dist/debian/precise/debian/ryzom-client-config.install @@ -0,0 +1 @@ +debian/client_default.cfg etc/ryzom diff --git a/dist/debian/precise/debian/ryzom-client.dirs b/dist/debian/precise/debian/ryzom-client.dirs new file mode 100644 index 000000000..d1571095c --- /dev/null +++ b/dist/debian/precise/debian/ryzom-client.dirs @@ -0,0 +1,4 @@ +usr/games +usr/share/applications +usr/share/pixmaps +var/cache/ryzom/data diff --git a/dist/debian/precise/debian/ryzom-client.install b/dist/debian/precise/debian/ryzom-client.install new file mode 100644 index 000000000..be142a6be --- /dev/null +++ b/dist/debian/precise/debian/ryzom-client.install @@ -0,0 +1,4 @@ +usr/games/ryzom_client +usr/share/icons +usr/share/pixmaps +debian/ryzom_client.desktop usr/share/applications diff --git a/dist/debian/precise/debian/ryzom-client.menu b/dist/debian/precise/debian/ryzom-client.menu new file mode 100644 index 000000000..5e15bf577 --- /dev/null +++ b/dist/debian/precise/debian/ryzom-client.menu @@ -0,0 +1,6 @@ +?package(ryzom-client): \ + needs="x11" \ + section="Games/Adventure" \ + icon="/usr/share/pixmaps/ryzom.xpm" \ + title="Ryzom" \ + command="/usr/games/ryzom" diff --git a/dist/debian/precise/debian/ryzom-client.postinst b/dist/debian/precise/debian/ryzom-client.postinst new file mode 100644 index 000000000..51570a3dc --- /dev/null +++ b/dist/debian/precise/debian/ryzom-client.postinst @@ -0,0 +1,10 @@ +#!/bin/sh + +if ! getent group ryzom ; then + addgroup --system ryzom +fi + +chgrp -R ryzom /var/cache/ryzom/data +chmod -R g+wrxs /var/cache/ryzom/data + +#DEBHELPER# diff --git a/dist/debian/precise/debian/ryzom-client.postrm b/dist/debian/precise/debian/ryzom-client.postrm new file mode 100644 index 000000000..828871eb4 --- /dev/null +++ b/dist/debian/precise/debian/ryzom-client.postrm @@ -0,0 +1,49 @@ +#! /bin/sh +# postrm script for ryzom-client +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see /usr/share/doc/packaging-manual/ + +case "$1" in + purge) + + FILES=/home/* + + for f in $FILES + do + FOLDER="$f/.ryzom/data" + + if [ -d $FOLDER ] + then + rm -rf $FOLDER + echo "Deleting $FOLDER..." + fi + done + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +#DEBHELPER# + +exit 0 diff --git a/dist/debian/precise/debian/ryzom-tools.install b/dist/debian/precise/debian/ryzom-tools.install new file mode 100644 index 000000000..c468e32d8 --- /dev/null +++ b/dist/debian/precise/debian/ryzom-tools.install @@ -0,0 +1,26 @@ +usr/bin/7zDec +usr/bin/alias_synchronizer +usr/bin/assoc_mem +usr/bin/csv_transform +usr/bin/georges_editor_qt +usr/bin/icon_search +usr/bin/make_alias_file +usr/bin/make_anim_by_race +usr/bin/make_anim_melee_impact +usr/bin/mp_generator +usr/bin/named2csv +usr/bin/patch_gen +usr/bin/patch_gen_service +usr/bin/pd_parser +usr/bin/pdr_util +usr/bin/prim_export +usr/bin/ryzom_mission_compiler +usr/bin/sheets_packer +usr/bin/skill_extractor +usr/bin/stats_scan +usr/bin/translation_tools +usr/bin/uni_conv +usr/games/ryzom_client_patcher +usr/lib/*/libryzom_mission_compiler_lib.so.* +usr/share/games/ryzom/data_leveldesign +usr/share/games/ryzom/georges_editor_qt diff --git a/dist/debian/precise/debian/ryzom_client.desktop b/dist/debian/precise/debian/ryzom_client.desktop new file mode 100644 index 000000000..1c62d1b6a --- /dev/null +++ b/dist/debian/precise/debian/ryzom_client.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Name=Ryzom +Name[ru]=Ризом +Type=Application +GenericName=ryzom_client +Exec=/usr/games/ryzom +Icon=ryzom_client +Terminal=true +Hidden=false +Categories=Game;RolePlaying; diff --git a/dist/debian/precise/debian/source/format b/dist/debian/precise/debian/source/format new file mode 100644 index 000000000..b9b023757 --- /dev/null +++ b/dist/debian/precise/debian/source/format @@ -0,0 +1,2 @@ +1.0 + diff --git a/dist/debian/readme.txt b/dist/debian/readme.txt new file mode 100644 index 000000000..2c43c9414 --- /dev/null +++ b/dist/debian/readme.txt @@ -0,0 +1,4 @@ +To create a official Ryzom Core package, you have to do: + +- launch ./update.sh to update Ryzom Core to last version and create the .orig directory +- launch ./update_debian.sh to update packaging stuff for , create the final directory and upload source package diff --git a/dist/debian/ryzomcore_version.sh b/dist/debian/ryzomcore_version.sh new file mode 100755 index 000000000..c072095f2 --- /dev/null +++ b/dist/debian/ryzomcore_version.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +CODEROOT=../../code + +VERSION_FILE=$CODEROOT/CMakeLists.txt + +if [ ! -f $VERSION_FILE ] +then + echo "Unable to find $VERSION_FILE" + exit 1 +fi + +parse_version() +{ + FILE=$1 + VAR=$2 + + V=$(grep -o -P "NL_$VAR [0-9]+" $FILE | awk '{print $2}' | head -n 1) + + if [ -z "$V" ] + then + echo "Can't parse $VAR from $FILE, aborting..." + exit 1 + fi + + export $VAR=$V +} + +parse_version $VERSION_FILE VERSION_MAJOR +parse_version $VERSION_FILE VERSION_MINOR +parse_version $VERSION_FILE VERSION_PATCH + +VERSION=$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH + +echo $VERSION + +exit 0 diff --git a/dist/debian/trusty/debian/changelog b/dist/debian/trusty/debian/changelog new file mode 100644 index 000000000..44f3e244e --- /dev/null +++ b/dist/debian/trusty/debian/changelog @@ -0,0 +1,408 @@ +ryzom-core (0.8.2802~raring1) raring; urgency=low + + * New upstream release (revision 2802) + + -- Cédric OCHS Mon, 10 Dec 2012 11:12:17 +0100 + +ryzom-core (0.8.2786~raring1) raring; urgency=low + + * New upstream release (revision 2786) + + -- Cédric OCHS Fri, 07 Dec 2012 16:33:15 +0100 + +ryzom-core (0.8.2691~quantal1) quantal; urgency=low + + * New upstream release (revision 2691) + + -- Cédric OCHS Sun, 07 Oct 2012 09:46:56 +0200 + +ryzom-core (0.8.2682~quantal1) quantal; urgency=low + + * New upstream release (revision 2682) + + -- Cédric OCHS Wed, 03 Oct 2012 15:59:54 +0200 + +ryzom-core (0.8.2681~quantal2) quantal; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 17:42:23 +0200 + +ryzom-core (0.8.2681~quantal1) quantal; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 17:13:57 +0200 + +ryzom-core (0.8.2650~quantal2) quantal; urgency=low + + * New upstream release (revision 2650) + + -- Cédric OCHS Mon, 24 Sep 2012 22:06:37 +0200 + +ryzom-core (0.8.2650~quantal1) quantal; urgency=low + + * New upstream release (revision 2650) + + -- Cédric OCHS Mon, 24 Sep 2012 20:55:19 +0200 + +ryzom-core (0.8.2025~precise1) precise; urgency=low + + * New upstream release (revision 2025) + + -- Cédric OCHS Sat, 10 Mar 2012 22:23:49 +0100 + +ryzom-core (0.8.2024~precise1) precise; urgency=low + + * New upstream release (revision 2024) + + -- Cédric OCHS Sat, 10 Mar 2012 11:16:08 +0100 + +ryzom-core (0.8.1847~natty1) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Mon, 17 Oct 2011 09:33:45 +0200 + +ryzom-core (0.8.1847~natty0) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Sun, 16 Oct 2011 18:45:27 +0200 + +ryzom-core (0.8.1758~natty0) natty; urgency=low + + * New upstream release (revision 1758) + + -- Cédric OCHS Tue, 16 Aug 2011 09:02:55 +0200 + +ryzom-core (0.8.1752~natty0) natty; urgency=low + + * New upstream release (revision 1752) + + -- Cédric OCHS Sun, 14 Aug 2011 16:07:29 +0200 + +ryzom-core (0.8.1751~natty0) natty; urgency=low + + * New upstream release (revision 1751) + + -- Cédric OCHS Sun, 14 Aug 2011 14:16:24 +0200 + +ryzom-core (0.8.1750~natty0) natty; urgency=low + + * New upstream release (revision 1750) + + -- Cédric OCHS Sun, 14 Aug 2011 12:30:18 +0200 + +ryzom-core (0.8.1744~natty0) natty; urgency=low + + * New upstream release (revision 1744) + + -- Cédric OCHS Sat, 13 Aug 2011 20:24:49 +0200 + +ryzom-core (0.8.1742~natty0) natty; urgency=low + + * New upstream release (revision 1742) + + -- Cédric OCHS Fri, 12 Aug 2011 18:11:07 +0200 + +ryzom-core (0.8.1628~natty0) natty; urgency=low + + * New upstream release (revision 1628) + + -- Cédric OCHS Fri, 17 Jun 2011 12:56:17 +0200 + +ryzom-core (0.8.1627~natty0) natty; urgency=low + + * New upstream release (revision 1627) + + -- Cédric OCHS Tue, 14 Jun 2011 20:37:05 +0200 + +ryzom-core (0.8.1611~natty0) natty; urgency=low + + * New upstream release (revision 1611) + + -- Cédric OCHS Wed, 08 Jun 2011 19:53:44 +0200 + +ryzom-core (0.8.1596~natty1) natty; urgency=low + + * New upstream release (revision 1596) + + -- Cédric OCHS Sat, 04 Jun 2011 18:11:45 +0200 + +ryzom-core (0.7.1406~natty0) natty; urgency=low + + * New upstream release (revision 1406) + + -- Kervala Sun, 13 Mar 2011 19:07:44 +0100 + +ryzom-core (0.7.1404~karmic0) karmic; urgency=low + + * New upstream release (revision 1404) + + -- Kervala Thu, 10 Mar 2011 20:13:35 +0100 + +ryzom-core (0.7.1122~karmic0) karmic; urgency=low + + * New upstream release (revision 1122) + + -- Kervala Thu, 25 Nov 2010 13:18:41 +0100 + +ryzom-core (0.7.992~karmic0) karmic; urgency=low + + * New upstream release (revision 992) + + -- Kervala Tue, 19 Oct 2010 13:44:23 +0200 + +ryzom-core (0.7.941~karmic0) karmic; urgency=low + + * New upstream release (revision 941) + + -- Kervala Sat, 16 Oct 2010 14:59:36 +0200 + +ryzom-core (0.7.933~karmic0) karmic; urgency=low + + * New upstream release (revision 933) + + -- Kervala Fri, 15 Oct 2010 22:29:44 +0200 + +ryzom-core (0.7.932~karmic0) karmic; urgency=low + + * New upstream release (revision 932) + + -- Kervala Fri, 15 Oct 2010 19:53:47 +0200 + +ryzom-core (0.7.666~karmic0) karmic; urgency=low + + * New upstream release (revision 666) + + -- Kervala Sun, 29 Aug 2010 17:56:06 +0200 + +ryzom-core (0.7.631~karmic0) karmic; urgency=low + + * New upstream release (revision 631) + + -- Kervala Thu, 12 Aug 2010 16:57:30 +0200 + +ryzom-core (0.7.614~lucid1) lucid; urgency=low + + * Fixed dependencies + + -- Kervala Sun, 08 Aug 2010 22:42:50 +0200 + +ryzom-core (0.7.614~lucid0) lucid; urgency=low + + * New upstream release (revision 614) + + -- Kervala Sun, 08 Aug 2010 21:53:00 +0200 + +ryzom-core (0.7.583~lucid1) lucid; urgency=low + + * Added dependency on libogg and libvorbis + + -- Kervala Sun, 01 Aug 2010 15:38:40 +0200 + +ryzom-core (0.7.583~lucid0) lucid; urgency=low + + * New upstream release (revision 583) + + -- Kervala Sun, 01 Aug 2010 14:43:28 +0200 + +ryzom-core (0.7.530~lucid0) lucid; urgency=low + + * New upstream release (revision 530) + + -- Kervala Sun, 25 Jul 2010 16:50:57 +0200 + +ryzom-core (0.7.519~lucid0) lucid; urgency=low + + * New upstream release (revision 519) + + -- Kervala Mon, 19 Jul 2010 22:24:05 +0200 + +ryzom-core (0.7.507~lucid0) lucid; urgency=low + + * New upstream release (revision 507) + + -- Kervala Sat, 17 Jul 2010 19:56:35 +0200 + +ryzom-core (0.7.474~lucid0) lucid; urgency=low + + * New upstream release (revision 474) + + -- Kervala Tue, 13 Jul 2010 08:56:24 +0200 + +ryzom-core (0.7.473~lucid1) lucid; urgency=low + + * Some fixes + + -- Kervala Mon, 12 Jul 2010 22:46:16 +0200 + +ryzom-core (0.7.473~lucid0) lucid; urgency=low + + * New upstream release (revision 473) + + -- Kervala Mon, 12 Jul 2010 22:04:30 +0200 + +ryzom-core (0.7.437~lucid1) lucid; urgency=low + + * Fixed drivers installation + + -- Kervala Thu, 08 Jul 2010 08:54:02 +0200 + +ryzom-core (0.7.437~lucid0) lucid; urgency=low + + * New upstream release (revision 437) + + -- Kervala Thu, 01 Jul 2010 20:07:14 +0200 + +ryzom-core (0.7.419~lucid0) lucid; urgency=low + + * New upstream release (revision 419) + + -- Kervala Sat, 26 Jun 2010 18:58:36 +0200 + +ryzom-core (0.7.411~lucid0) lucid; urgency=low + + * New upstream release (revision 411) + + -- Kervala Sat, 26 Jun 2010 11:00:47 +0200 + +ryzom-core (0.7.404~lucid1) lucid; urgency=low + + * Fix OpenAL driver + + -- Kervala Thu, 24 Jun 2010 23:06:51 +0200 + +ryzom-core (0.7.404~lucid0) lucid; urgency=low + + * New upstream release (revision 404) + + -- Kervala Thu, 24 Jun 2010 22:17:36 +0200 + +ryzom-core (0.7.394~lucid0) lucid; urgency=low + + * New upstream release (revision 394) + + -- Kervala Tue, 22 Jun 2010 06:53:15 +0200 + +ryzom-core (0.7.375~lucid0) lucid; urgency=low + + * New upstream release (revision 375) + + -- Kervala Wed, 16 Jun 2010 12:46:51 +0200 + +ryzom-core (0.7.371~lucid0) lucid; urgency=low + + * New upstream release (revision 371) + + -- Kervala Mon, 14 Jun 2010 22:48:27 +0200 + +ryzom-core (0.7.359~lucid0) lucid; urgency=low + + * New upstream release (revision 359) + + -- Kervala Sun, 13 Jun 2010 21:31:29 +0200 + +ryzom-core (0.7.350~lucid1) lucid; urgency=low + + * Fixes problem with "copy" files + + -- Kervala Sun, 13 Jun 2010 10:36:30 +0200 + +ryzom-core (0.7.350~lucid0) lucid; urgency=low + + * New upstream release (revision 350) + + -- Kervala Sun, 13 Jun 2010 09:55:38 +0200 + +ryzom-core (0.7.332~lucid0) lucid; urgency=low + + * New upstream release (revision 332) + + -- Kervala Sat, 12 Jun 2010 09:09:21 +0200 + +ryzom-core (0.7.317~lucid0) lucid; urgency=low + + * New upstream release (revision 317) + + -- Kervala Thu, 10 Jun 2010 13:11:28 +0200 + +ryzom-core (0.7.315~lucid0) lucid; urgency=low + + * Fixed pkg-config installation again + + -- Kervala Thu, 10 Jun 2010 08:19:44 +0200 + +ryzom-core (0.7.311~lucid2) lucid; urgency=low + + * Fixed pkg-config files + + -- Kervala Wed, 09 Jun 2010 22:58:15 +0200 + +ryzom-core (0.7.311~lucid1) lucid; urgency=low + + * Fixed dependencies versions + + -- Kervala Wed, 09 Jun 2010 22:27:00 +0200 + +ryzom-core (0.7.311~lucid0) lucid; urgency=low + + * New upstream version (revision 311). + + -- Kervala Wed, 09 Jun 2010 21:15:42 +0200 + +ryzom-core (0.7.304~lucid0) lucid; urgency=low + + * New upstream version (revision 304). + + -- Kervala Wed, 09 Jun 2010 08:34:10 +0200 + +ryzom-core (0.7.0-1) unstable; urgency=low + + [ Gürkan Sengün ] + * New upstream version. (Closes: #553248) + * Updated build dependencies. + + [ Michal Čihař ] + * Convert to dh with cmake support. + * Bump standards to 3.8.4. + + [ Luboš Novák ] + * Change maintainer to 'Debian Games Team' + * ftbfs_gcc_4.5.path: Fix build with g++-4.5. (Closes: #565104) + * Converted direct changes in source to patches. + * Enable building CEGUI renderer. + * Add package libnel-doc with documentation. + * debian/control + + Changed priority of libnel-dbg to extra. + + Remove duplicate Section in libnel0. + + Update short descriptions. + + Replace obsolete package xlibmesa-gl-dev with libgl1-mesa-dev + in build-depends. + + Add libpng-dev to build-depends. + + Remove libalut-dev from build-depends. + + New homepage. + + Supported architectures are i386 and amd64. + * debian/libnel-dev.dirs + + Remove empty dir usr/lib/nel. + * debian/copyright + + Update redistribution licence from GPL to GPL-2. + * debian/rules + + Disable building unit test, samples and tools. + + -- Luboš Novák Tue, 30 Mar 2010 10:29:23 +0100 + +ryzom-core (0.5.0-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Change Build-Depends: libstlport5.2-dev. (Closes: #521762) + + -- Torsten Werner Sun, 28 Jun 2009 11:54:05 +0200 + +ryzom-core (0.5.0-1) unstable; urgency=low + + * Initial release. (Closes: #448067) + + -- Gürkan Sengün Tue, 23 Oct 2007 12:56:45 +0200 + diff --git a/dist/debian/trusty/debian/client_default.cfg b/dist/debian/trusty/debian/client_default.cfg new file mode 100644 index 000000000..d09cbbb9c --- /dev/null +++ b/dist/debian/trusty/debian/client_default.cfg @@ -0,0 +1,567 @@ +////////////////////////// +////////////////////////// +/// CLIENT CONFIG FILE /// +////////////////////////// +////////////////////////// + + +// If you set this variable to 1, your client.cfg will be overwritten when you quit the client. +// You will loose all the comments and identation in this file. +SaveConfig = 1; + +/////////////////// +// WINDOW CONFIG // +/////////////////// + +Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2" + // "Auto" will choose the best suited driver depending on hardware +FullScreen = 0; +Width = 1024; +Height = 768; +PositionX = 0; +PositionY = 0; +Frequency = 60; +Depth = 32; +Sleep = -1; +ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time +Contrast = 0.0; // -1.0 ~ 1.0 +Luminosity = 0.0; // -1.0 ~ 1.0 +Gamma = 0.0; // -1.0 ~ 1.0 +Contrast_min = -1.0; +Luminosity_min = -1.0; +Gamma_min = -1.0; +Contrast_max = 1.0; +Luminosity_max = 1.0; +Gamma_max = 1.0; + + +///////////// +// NETWORK // +///////////// + +Application = { "ryzom_live", "./client_ryzom_r.exe", "./" }; +BackgroundDownloader = 0; +PatchServer = "http://dl.ryzom.com/patch_live"; +SignUpURL = "http://www.ryzom.com/subscribe"; +StartupHost = "shard.ryzom.com:40916"; +StartupPage = "/login/r2_login.php"; +InstallStatsUrl = "http://shard.ryzom.com:50000/stats/stats.php"; +CreateAccountURL = "https://secure.ryzom.com/signup/from_client.php"; +InstallWebPage = "http://dl.ryzom.com/installer/"; + + +//////////////// +// INTERFACES // +//////////////// + +// the language to use as in ISO 639-2 +LanguageCode = "en"; // english + +XMLInputFile = "input_config_v3.xml"; + +XMLLoginInterfaceFiles = { + "login_config.xml", + "login_widgets.xml", + "login_main.xml", + "login_keys.xml", +}; + +XMLOutGameInterfaceFiles = { + "out_v2_config.xml", + "out_v2_widgets.xml", + "out_v2_connect.xml", + "out_v2_intro.xml", + "out_v2_select.xml", + "out_v2_appear.xml", + "out_v2_location.xml", + "out_v2_crash.xml", + "out_v2_hierarchy.xml", + "out_v2_keys.xml", +}; + +// The ligo primitive class file +LigoPrimitiveClass = "world_editor_classes.xml"; + +VerboseLog = 1; + +/////////// +// MOUSE // +/////////// +HardwareCursor = 1; + +CursorSpeed = 1.0; // In pixels per mickey +CursorSpeed_min = 0.5; +CursorSpeed_max = 2.0; + +CursorAcceleration = 40; // Threshold in mickey +CursorAcceleration_min = 20; +CursorAcceleration_max = 80; + +FreeLookSpeed = 0.004; // In radian per mickey +FreeLookSpeed_min = 0.0001; +FreeLookSpeed_max = 0.01; + +FreeLookAcceleration = 40; // Threshold in mickey +FreeLookAcceleration_min = 20; +FreeLookAcceleration_max = 80; + +FreeLookInverted = 0; +AutomaticCamera = 0; +DblClickMode = 1; +AutoEquipTool = 1; + +/////////////////// +// RENDER CONFIG // +/////////////////// + +// NB: thoses variables configure also the InGameConfigurator: +// _min and _max define the bounds +// _step defines the step (NB: take care of _min and _max!!) +// _ps0 is the LOW preset, _ps1 is the MEDIUM preset, _ps2 is the NORMAL Preset, and _ps3 is the HIGH one + + +// *** LANDSCAPE +LandscapeTileNear = 150.000000; +LandscapeTileNear_min = 20.000000; +LandscapeTileNear_max = 250.000000; +LandscapeTileNear_step = 10.0; +LandscapeTileNear_ps0 = 20.0; +LandscapeTileNear_ps1 = 100.0; +LandscapeTileNear_ps2 = 150.0; +LandscapeTileNear_ps3 = 200.0; + +// NB: threshold is inverted ULandscape::setThreshold(), to be more intelligible +LandscapeThreshold = 2000.0; +LandscapeThreshold_min = 100.0; // Low quality => 0.01 threshold +LandscapeThreshold_max = 4000.0; // High quality => 0.0005 threshold +LandscapeThreshold_step = 100.0; +LandscapeThreshold_ps0 = 100.0; +LandscapeThreshold_ps1 = 1000.0; +LandscapeThreshold_ps2 = 2000.0; +LandscapeThreshold_ps3 = 3000.0; + +Vision = 500.000000; +Vision_min = 200.000000; +Vision_max = 800.000000; +Vision_step = 100.000000; +Vision_ps0 = 200.0; +Vision_ps1 = 400.0; +Vision_ps2 = 500.0; +Vision_ps3 = 800.0; + +MicroVeget = 1; // Enable/Disable MicroVeget. +MicroVeget_ps0 = 0; +MicroVeget_ps1 = 1; +MicroVeget_ps2 = 1; +MicroVeget_ps3 = 1; + +MicroVegetDensity = 80.0; +MicroVegetDensity_min = 10.0; +MicroVegetDensity_max = 100.0; +MicroVegetDensity_step = 10.0; +MicroVegetDensity_ps0 = 10.0; // not used since disabled! +MicroVegetDensity_ps1 = 30.0; +MicroVegetDensity_ps2 = 80.0; +MicroVegetDensity_ps3 = 100.0; + + +// *** FX +FxNbMaxPoly = 20000; +FxNbMaxPoly_min = 2000; +FxNbMaxPoly_max = 50000; +FxNbMaxPoly_step= 2000; +FxNbMaxPoly_ps0 = 2000; +FxNbMaxPoly_ps1 = 10000; +FxNbMaxPoly_ps2 = 20000; +FxNbMaxPoly_ps3 = 50000; + +Cloud = 1; +Cloud_ps0 = 0 ; +Cloud_ps1 = 1 ; +Cloud_ps2 = 1 ; +Cloud_ps3 = 1 ; + +CloudQuality = 160.0; +CloudQuality_min = 80.0; +CloudQuality_max = 320.0; +CloudQuality_step = 20.0; +CloudQuality_ps0 = 80.0; // not used since disabled! +CloudQuality_ps1 = 80.0; +CloudQuality_ps2 = 160.0; +CloudQuality_ps3 = 320.0; + +CloudUpdate = 1; +CloudUpdate_min = 1; +CloudUpdate_max = 8; +CloudUpdate_step= 1; +CloudUpdate_ps0 = 1; // not used since disabled! +CloudUpdate_ps1 = 1; +CloudUpdate_ps2 = 1; +CloudUpdate_ps3 = 3; + +Shadows = 1; +Shadows_ps0 = 0; +Shadows_ps1 = 1; +Shadows_ps2 = 1; +Shadows_ps3 = 1; + +Bloom = 0; +Bloom_ps0 = 0; +Bloom_ps1 = 1; +Bloom_ps2 = 1; +Bloom_ps3 = 1; + +SquareBloom = 1; +SquareBloom_ps0 = 0; +SquareBloom_ps1 = 1; +SquareBloom_ps2 = 1; +SquareBloom_ps3 = 1; + +DensityBloom = 255.0; +DensityBloom_min = 0.0; +DensityBloom_max = 255.0; +DensityBloom_step = 1.0; +DensityBloom_ps0 = 255.0; +DensityBloom_ps1 = 255.0; +DensityBloom_ps2 = 255.0; +DensityBloom_ps3 = 255.0; + + +// *** CHARACTERS +SkinNbMaxPoly = 100000; +SkinNbMaxPoly_min = 5000; +SkinNbMaxPoly_max = 250000; +SkinNbMaxPoly_step = 5000; +SkinNbMaxPoly_ps0 = 10000; +SkinNbMaxPoly_ps1 = 70000; +SkinNbMaxPoly_ps2 = 100000; +SkinNbMaxPoly_ps3 = 200000; + +NbMaxSkeletonNotCLod = 125; +NbMaxSkeletonNotCLod_min = 5; +NbMaxSkeletonNotCLod_max = 255; +NbMaxSkeletonNotCLod_step = 5; +NbMaxSkeletonNotCLod_ps0 = 10; +NbMaxSkeletonNotCLod_ps1 = 50; +NbMaxSkeletonNotCLod_ps2 = 125; +NbMaxSkeletonNotCLod_ps3 = 255; + +CharacterFarClip = 200.0; +CharacterFarClip_min = 50.0; +CharacterFarClip_max = 500.0; +CharacterFarClip_step = 10.0; +CharacterFarClip_ps0 = 50.0; +CharacterFarClip_ps1 = 100.0; +CharacterFarClip_ps2 = 200.0; +CharacterFarClip_ps3 = 500.0; + +EnableRacialAnimation = 1; + +// *** MISC +// This is the actual aspect ratio of your screen (no relation with the resolution!!). Set 1.7777 if you got a 16/9 screen for instance +ScreenAspectRatio = 0.0; +ForceDXTC = 1; // Enable/Disable DXTC. +DivideTextureSizeBy2= 0; // Divide texture size +DisableVtxProgram = 0; // Disable Hardware Vertex Program. +DisableVtxAGP = 0; // Disable Hardware Vertex AGP. +DisableTextureShdr = 0; // Disable Hardware Texture Shader. +HDEntityTexture = 0; +HDTextureInstalled = 1; +WaitVBL = 0; // 0 or 1 to wait Vertical Sync. + +////////////////// +// GAME OPTIONS // +////////////////// +SelectWithRClick = 1; +DisplayWeapons = 1; +RotKeySpeedMax = 2.0; +RotKeySpeedMax_min = 1.0; +RotKeySpeedMax_max = 4.0; +RotKeySpeedMin = 1.0; +RotKeySpeedMin_min = 0.5; +RotKeySpeedMin_max = 2.0; +RotAccel = 3.0; +FollowOnAtk = 0; +AtkOnSelect = 0; +ZCPacsPrim = "gen_bt_col_ext.pacs_prim"; + +///////////////// +// PREFERENCES // +///////////////// +FPV = 0; // FPV(First Person View) : default is false (Third Person View). +CameraHeight = 2.2; // Camera Height (in meter) from the ground (for the Third Person View). +CameraDistance = 3.0; // Camera Distance(in meter) from the user (for the Third Person View). +CameraDistStep = 1.0; +CameraDistMin = 1.0; +CameraDistMax = 25.0; +CameraAccel = 5.0; +CameraSpeedMin = 2.0; +CameraSpeedMax = 100.0; +CameraResetSpeed = 10.0; // Speed in radian/s + +////////////////// +// SOUND CONFIG // +////////////////// +SoundForceSoftwareBuffer= 1; +SoundOn = 1; +UseEax = 0; + +MaxTrack = 32; +MaxTrack_min = 4; +MaxTrack_max = 32; +MaxTrack_step = 4; + +// This is the volume for "InGame" sound FXs +SoundSFXVolume = 1.0; +SoundSFXVolume_min = 0.0; +SoundSFXVolume_max = 1.0; +SoundSFXVolume_step = 0.001; + +// This is volume for "InGame" music. Does not affect the MP3 player +SoundGameMusicVolume = 0.5; +SoundGameMusicVolume_min = 0.0; +SoundGameMusicVolume_max = 1.0; +SoundGameMusicVolume_step = 0.001; + +// MISC +PreDataPath = { "user", "patch", "examples", "data/fonts", "data/gamedev.bnp" }; +DataPath = { "data" }; +NeedComputeVS = 0; + +NegFiltersDebug = {"Update DB", "Reading:", "Read Value :", "impulseCallBack", "CLIMPD:", "LNET" }; +NegFiltersInfo = { "CLIMPD:", "CPath::lookup" , "LNET" }; +NegFiltersWarning = { "'basics.Equipment Slot'.", "_usercolor.tga", "PACS" }; + +// Big screen shot +ScreenShotWidth = 0; +ScreenShotHeight = 0; +ScreenShotFullDetail = 1; // 1 to switch full detail mode for characters (both standard & big screenshots) + +// Read : "ID", "R G B A MODE [FX]" +SystemInfoColors = +{ +// OLD STUFF Here for compatibility +"RG", "0 0 0 255 normal", // Black to see when there is an error +"BC", "0 0 0 255 normal", // Black to see when there is an error +"JA", "0 0 0 255 normal", // Black to see when there is an error +"BL", "0 0 0 255 normal", // Black to see when there is an error +"VE", "0 0 0 255 normal", // Black to see when there is an error +"VI", "0 0 0 255 normal", // Black to see when there is an error + +// NEW System Info Categories +"SYS", "255 255 255 255 normal", // Default system messages +"BC", "255 255 255 255 centeraround", // Broadcast messages +"TAGBC", "255 255 255 255 centeraround", // Taged broadcast messages : color should remain white as some word are tagged +"XP", "255 255 64 255 over", // XP Gain +"SP", "255 255 64 255 over", // SP Gain +"TTL", "255 255 64 255 over", // Title +"TSK", "255 255 255 255 over", // Task +"ZON", "255 255 255 255 center", // Zone +"DG", "255 0 0 255 normal", // Damage to me +"DMG", "255 0 0 255 normal", // Damage to me +"DGP", "200 0 0 255 normal", // Damage to me from player +"DGM", "255 128 64 255 normal", // Damage from me +"MIS", "150 150 150 255 normal", // The opponent misses +"MISM", "255 255 255 255 normal", // I miss +"ITM", "0 200 0 255 over", // Item +"ITMO", "170 170 255 255 overonly", // Item other in group +"ITMF", "220 0 220 255 over", // Item failed +"SPL", "50 50 250 255 normal", // Spell to me +"SPLM", "50 150 250 255 normal", // Spell from me +"EMT", "255 150 150 255 normal", // Emote +"MTD", "255 255 0 255 over", // Message Of The Day +"FORLD","64 255 64 255 overonly", // Forage Locate Deposit +"CHK", "255 120 60 255 center", // Tous ce qui ne remplit pas une condition +"CHKCB","255 255 0 255 center", // Tous ce qui ne remplit pas une condition en combat (trop loin, cible invalide, pas assez de mana, etc.) +"PVPTM","255 120 60 255 overonly", // PVP timer +"THM", "255 255 64 255 over misc_levelup.ps", // Thema finished +"AMB", "255 255 64 255 center", // Ambiance +"ISE", "192 208 255 255 normal", // Item special effect +"ISE2", "192 208 255 255 center", // Item special effect with center text (for effects without flying text) +"OSM", "128 160 255 255 center", // Outpost state message +"AROUND","255 255 0 255 around", // Only in around channel +"R2_INVITE","0 255 0 255 around", // Ring invitation +}; + +PrintfCommands = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +PrintfCommandsFreeTrial = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +DisplayMissingAnimFile = 0; + +LoadingStringCount = 54; + + +// Some R2 parameters ... + +R2Mode = 1; +R2EDEnabled = 1; +R2EDExtendedDebug = 0; +R2EDLightPalette = 0; +R2ClientGw = "r2linux01"; +LoadLuaDebugger = 0; +CheckR2ScenarioMD5 = 1; +LevelDesignEnabled = 0; + +DmCameraDistMax = 25; +DmRun = 20; +DmWalk = 6; + +R2EDReloadFiles = { + "r2ed.xml", + "r2_basic_bricks.lua", + "r2_components.lua", + "r2_core.lua", + "r2_features_default.lua", + "r2_features_fauna.lua", + "r2_features_npc_groups.lua", + "r2_palette.lua", + "r2_scenario.lua", + "r2_ui.lua" +}; + +XMLInterfaceFiles = { + "config.xml", + "widgets.xml", + "webig_widgets.xml", + "player.xml", + "inventory.xml", + "interaction.xml", + "phrase.xml", + "harvest.xml", + "macros.xml", + "info_player.xml", + "outpost.xml", + "guild.xml", + "taskbar.xml", + "game_config.xml", + "game_context_menu.xml", + "player_trade.xml", + "bot_chat_v4.xml", + "compass.xml", + "map.xml", + "hierarchy.xml", + "reset.xml", + "actions.xml", + "help.xml", + "encyclopedia.xml", + "commands.xml", + "commands2.xml", + "ring_access_point_filter.xml", + "ring_window.xml", + "bg_downloader.xml" +}; + +XMLR2EDInterfaceFiles = +{ + "r2ed.xml", + "r2_triggers.xml", + "r2_logic_entities.xml", + "r2ed_acts.xml", + "r2ed_scenario.xml", + "r2ed_connect.xml" +}; + +FogDistAndDepthLookupBias = 20; // bias for lookup of fog distance and depth + + +// Hardware cursor textures +// These will be extracted from the corresponding packed ui .tga files when they are loaded +// * +// * individual .tga files for hardware cursor bitmap not looked for, and not supported yet +HardwareCursors = +{ + "curs_can_pan.tga", + "curs_can_pan_dup.tga", + "curs_create.tga", + "curs_create_multi.tga", + "curs_create_vertex_invalid.tga", + "curs_default.tga", + "curs_dup.tga", + "curs_L.tga", + "curs_M.tga", + "curs_pan.tga", + "curs_pan_dup.tga", + "curs_pick.tga", + "curs_pick_dup.tga", + "curs_R.tga", + "curs_resize_BL_TR.tga", + "curs_resize_BR_TL.tga", + "curs_resize_LR.tga", + "curs_resize_TB.tga", + "curs_rotate.tga", + "curs_scale.tga", + "curs_stop.tga", + "text_cursor.tga", + "r2_hand_can_pan.tga", + "r2_hand_pan.tga", + "r2ed_tool_can_pick.tga", + "r2ed_tool_can_rotate.tga", + "r2ed_tool_pick.tga", + "r2ed_tool_rotate.tga", + "r2ed_tool_rotating.tga" +}; + +Loading_BG = "new_loading_bg.tga"; // Default name for the loading background file. +Launch_BG = "new_launcher_bg.tga"; // Default name for the launch background file. +TeleportKami_BG = "new_teleport_kami_bg.tga"; +TeleportKaravan_BG = "new_teleport_caravan_bg.tga"; +Elevator_BG = "new_elevator_bg.tga"; // Default name for the loading background file. +ResurectKami_BG = "new_resurect_kami_bg.tga"; +ResurectKaravan_BG = "new_resurect_caravane_bg.tga"; +End_BG = "end_bg.tga"; // Default name for the last background file. + +ScenarioSavePath = "./my_scenarios/"; + +// list ofpredefined keyset +// name will be looked up in the translation file by searching 'uiCP_KeysetName_" + id +// tooltip will be looked up in the translation file by searching 'uiCP_KeysetTooltip_" + id +// 'bi.' stands for built-in +// note : we add a dot in the name to be sure that there cannot be a conflict with character keyset name +BuiltInKeySets = +{ + "", // default ryzom keyboard layout + "bi.zqsd", // european keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is french or belgian) + "bi.wasd", // english keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is not french nor belgian) + "bi.wow_alike" // 'world of warcraft' like keyboard style. (NB : not available for ring) +}; + +// "Newbie Training", "Story Telling", "Mistery", "Hack & Slash", "Guild Training", "Other" +ScenarioTypes = {"so_newbie_training","so_story_telling","so_mistery","so_hack_slash","so_guild_training","so_other"}; + +ScenarioLanguages = {"fr","de","en","other_lang"}; + +// Map each language to a forum help page +HelpPages = +{ + "fr=http://forums.ryzom.com/forum/showthread.php?t=29130", + "en=http://forums.ryzom.com/forum/showthread.php?t=29129", + "wk=http://forums.ryzom.com/forum/showthread.php?t=29129", + "de=http://forums.ryzom.com/forum/showthread.php?t=29131" +}; + +WebIgMainDomain = "app.ryzom.com"; +WebIgTrustedDomains = { + "api.ryzom.com", "app.ryzom.com" +}; +PatchletUrl = "http://app.ryzom.com/app_patchlet/index.php?patch=preload"; + +SelectedSlot = 0; + +BuildName = "RELEASE_HEAD"; diff --git a/dist/debian/trusty/debian/compat b/dist/debian/trusty/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/dist/debian/trusty/debian/compat @@ -0,0 +1 @@ +9 diff --git a/dist/debian/trusty/debian/control b/dist/debian/trusty/debian/control new file mode 100644 index 000000000..e662d1f37 --- /dev/null +++ b/dist/debian/trusty/debian/control @@ -0,0 +1,212 @@ +Source: ryzom-core +Priority: extra +Maintainer: Debian Games Team +Uploaders: Luboš Novák , Cédric OCHS +Build-Depends: debhelper (>= 9), cmake(>= 2.6), libxml2-dev, + libgl1-mesa-dev, libjpeg8-dev | libjpeg62-dev, libpng12-dev, libopenal-dev, + libfreetype6-dev, libxxf86vm-dev, libxrandr-dev, libxrender-dev, + libvorbis-dev, libsquish-dev, libcurl4-openssl-dev, libluabind-dev, + libboost-dev, libwww-dev, libmysqlclient-dev, + libcpptest-dev, libqt4-dev, libqt4-opengl-dev +Standards-Version: 3.9.5 +Section: games +Bugs: http://dev.ryzom.com/projects/ryzom/issues +Homepage: http://dev.ryzom.com +Vcs-Svn: svn://svn.debian.org/svn/pkg-games/packages/trunk/nel/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-games/packages/trunk/nel/?op=log + +Package: libnel0 +Section: libdevel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Massive multi-user 3D game environments library (shared library) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the shared library. + +Package: libnel-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (development files) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the headers. + +Package: libnel0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the debugging symbols. + +Package: nel-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools. + +Package: nel-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, nel-tools (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools debugging symbols. + +Package: libryzom-sevenzip0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Ryzom science-fantasy MMORPG (decompression library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library. + +Package: libryzom-sevenzip0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-sevenzip0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (decompression library debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library debugging symbols. + +Package: libryzom-gameshare0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common shared library. + +Package: libryzom-gameshare0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common debugging symbols. + +Package: libryzom-clientsheets0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets shared library. + +Package: libryzom-clientsheets0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets debugging symbols. + +Package: ryzom-client +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}), + ryzom-client-config (>= ${source:Version}), rsync, wget, p7zip-full +Description: Ryzom science-fantasy MMORPG (client) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game client. + +Package: ryzom-client-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-client (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client debugging symbols. + +Package: ryzom-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools. + +Package: ryzom-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-tools (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools debugging symbols. + +Package: ryzom-client-config +Architecture: all +Depends: ${misc:Depends} +Description: Ryzom science-fantasy MMORPG (client configuration) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client configuration. diff --git a/dist/debian/trusty/debian/copyright b/dist/debian/trusty/debian/copyright new file mode 100644 index 000000000..d5a0f2f10 --- /dev/null +++ b/dist/debian/trusty/debian/copyright @@ -0,0 +1,53 @@ +This package was debianized by Gürkan Sengün on +Tue, 23 Oct 2007 12:56:45 +0200. + +It was downloaded from + +Upstream Authors: + + Olivier Cado + Bertram Felgenhauer + Krzysztof Kotlenga + Henri Kuuste + Vianney Lecroart + Namine + Cédric Ochs + Guillaume Puzin + Matt Raykowski + Robert Timm + Titegus + Ulukyn + Robert Wetzel + Zorglor + TODO: take names from Ryzom credits + +Copyright: + + Copyright (C) 2003-2009 Vianney Lecroart + Copyright (C) 2003-2009 Matt Raykowski + Copyright (C) 2000-2006 Nevrax Ltd. + Copyright (C) 2006-2007 Gameforge France + Copyright (C) 2008-2010 Winch Gate Property Limited + +License: + + 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 . + +The Debian packaging is: + + Copyright (C) 2007 Gürkan Sengün + +and is licensed under the GPL version 2, +see `/usr/share/common-licenses/GPL-2'. + diff --git a/dist/debian/trusty/debian/docs b/dist/debian/trusty/debian/docs new file mode 100644 index 000000000..58e5e3e76 --- /dev/null +++ b/dist/debian/trusty/debian/docs @@ -0,0 +1,2 @@ +changelog +README diff --git a/dist/debian/trusty/debian/libnel-dev.docs b/dist/debian/trusty/debian/libnel-dev.docs new file mode 100644 index 000000000..ba8894c15 --- /dev/null +++ b/dist/debian/trusty/debian/libnel-dev.docs @@ -0,0 +1,2 @@ +README + diff --git a/dist/debian/trusty/debian/libnel-dev.install b/dist/debian/trusty/debian/libnel-dev.install new file mode 100644 index 000000000..9f9310cee --- /dev/null +++ b/dist/debian/trusty/debian/libnel-dev.install @@ -0,0 +1,3 @@ +usr/include/* +usr/lib/*/libnel*.so +usr/lib/*/pkgconfig/* diff --git a/dist/debian/trusty/debian/libnel-dev.manpages b/dist/debian/trusty/debian/libnel-dev.manpages new file mode 100644 index 000000000..bb4027ca9 --- /dev/null +++ b/dist/debian/trusty/debian/libnel-dev.manpages @@ -0,0 +1 @@ +debian/nel-config.1 diff --git a/dist/debian/trusty/debian/libnel-doc.doc-base.nel b/dist/debian/trusty/debian/libnel-doc.doc-base.nel new file mode 100644 index 000000000..6ae95fc9f --- /dev/null +++ b/dist/debian/trusty/debian/libnel-doc.doc-base.nel @@ -0,0 +1,9 @@ +Document: nel +Title: NeL Reference Manual +Author: Nevrax +Abstract: This is a software platform for creating and running massively multi-user entertainment in a 3D environment over the Internet. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libnel-doc/html/index.html +Files: /usr/share/doc/libnel-doc/html/*.html diff --git a/dist/debian/trusty/debian/libnel-doc.install b/dist/debian/trusty/debian/libnel-doc.install new file mode 100644 index 000000000..bf3f02a61 --- /dev/null +++ b/dist/debian/trusty/debian/libnel-doc.install @@ -0,0 +1 @@ +usr/share/doc/libnel-doc/html/* diff --git a/dist/debian/trusty/debian/libnel0.install b/dist/debian/trusty/debian/libnel0.install new file mode 100644 index 000000000..4273c0ad1 --- /dev/null +++ b/dist/debian/trusty/debian/libnel0.install @@ -0,0 +1,3 @@ +usr/lib/*/libnel*.so.* +usr/lib/*/nel/libnel_drv_openal.so +usr/lib/*/nel/libnel_drv_opengl.so diff --git a/dist/debian/trusty/debian/libryzom-clientsheets0.install b/dist/debian/trusty/debian/libryzom-clientsheets0.install new file mode 100644 index 000000000..b5ea5b79c --- /dev/null +++ b/dist/debian/trusty/debian/libryzom-clientsheets0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_clientsheets.so.* + diff --git a/dist/debian/trusty/debian/libryzom-gameshare0.install b/dist/debian/trusty/debian/libryzom-gameshare0.install new file mode 100644 index 000000000..2f51b0804 --- /dev/null +++ b/dist/debian/trusty/debian/libryzom-gameshare0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_gameshare.so.* + diff --git a/dist/debian/trusty/debian/libryzom-sevenzip0.install b/dist/debian/trusty/debian/libryzom-sevenzip0.install new file mode 100644 index 000000000..1edced3f8 --- /dev/null +++ b/dist/debian/trusty/debian/libryzom-sevenzip0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_sevenzip.so.* + diff --git a/dist/debian/trusty/debian/nel-config.1 b/dist/debian/trusty/debian/nel-config.1 new file mode 100644 index 000000000..be47bf496 --- /dev/null +++ b/dist/debian/trusty/debian/nel-config.1 @@ -0,0 +1,37 @@ +.TH nel-config 1 "26 Oct 2007" +.SH NAME +nel-config \- Get information about a libnel installation +.SH SYNOPSIS +.B nel-config [options] +.SH DESCRIPTION +.B nel-config +displays information about a libnel installation. +.SH OPTIONS +.IP "--cflags" +Set of compiler options (CFLAGS) to use when compiling files that use +libnel. Currently that is only thw include path to the nel include files. +.IP "--libs" +Shows the complete set of libs and other linker options you will need in order +to link your application with libnel. +.IP "--prefix" +This is the prefix used when libnel was installed. libnel is then installed +in $prefix/lib and its header files are installed in $prefix/include and so +on. The prefix is set with "configure \-\-prefix". +.IP "--version" +Outputs version information about the installed libnel. +.SH "EXAMPLES" +What linker options do I need when I link with libnel? + + $ nel-config \-\-libs + +What compiler options do I need when I compile using libnel functions? + + $ nel-config \-\-cflags + +What's the installed libnel version? + + $ nel-config \-\-version +.SH AUTHOR +.PP +This manual page was written by G\[:u]rkan Seng\[:u]n +,for the Debian project (but may be used by others). diff --git a/dist/debian/trusty/debian/nel-tools.install b/dist/debian/trusty/debian/nel-tools.install new file mode 100644 index 000000000..4ca03208c --- /dev/null +++ b/dist/debian/trusty/debian/nel-tools.install @@ -0,0 +1,87 @@ +etc/nel/build_ig_boxes.cfg +etc/nel/build_indoor_rbank.cfg +etc/nel/build_rbank.cfg +etc/nel/make_sheet_id.cfg +etc/nel/words_dic.cfg +etc/nel/zviewer.cfg +usr/bin/animation_set_builder +usr/bin/anim_builder +usr/bin/bnp_make +usr/bin/build_clod_bank +usr/bin/build_clodtex +usr/bin/build_coarse_mesh +usr/bin/build_far_bank +usr/bin/build_ig_boxes +usr/bin/build_indoor_rbank +usr/bin/build_interface +usr/bin/build_rbank +usr/bin/build_samplebank +usr/bin/build_shadow_skin +usr/bin/build_smallbank +usr/bin/build_sound +usr/bin/build_soundbank +usr/bin/cluster_viewer +usr/bin/disp_sheet_id +usr/bin/extract_filename +usr/bin/file_info +usr/bin/georges2csv +usr/bin/get_neighbors +usr/bin/hls_bank_maker +usr/bin/ig_add +usr/bin/ig_info +usr/bin/ig_lighter +usr/bin/lock +usr/bin/make_sheet_id +usr/bin/memlog +usr/bin/message_box_qt +usr/bin/nl_probe_timers +usr/bin/nl_sample_chatclient +usr/bin/nl_sample_chatserver +usr/bin/nl_sample_clusterview +usr/bin/nl_sample_command +usr/bin/nl_sample_configfile +usr/bin/nl_sample_ct_ai_service +usr/bin/nl_sample_ct_gd_service +usr/bin/nl_sample_debug +usr/bin/nl_sample_font +usr/bin/nl_sample_georges +usr/bin/nl_sample_i18n +usr/bin/nl_sample_log +usr/bin/nl_sample_ls_client +usr/bin/nl_sample_ls_fes +usr/bin/nl_sample_pacs +usr/bin/nl_sample_shapeview +usr/bin/nl_sample_sound_sources +usr/bin/nl_sample_stream_file +usr/bin/nl_sample_stream_ogg_vorbis +usr/bin/nl_sample_strings +usr/bin/nl_sample_udpclient +usr/bin/nl_sample_udpserver +usr/bin/panoply_maker +usr/bin/shapes_exporter +usr/bin/tga2dds +usr/bin/tga_cut +usr/bin/tga_resize +usr/bin/tile_edit_qt +usr/bin/words_dic_qt +usr/bin/xml_packer +usr/bin/zone_check_bind +usr/bin/zone_dependencies +usr/bin/zone_dump +usr/bin/zone_ig_lighter +usr/bin/zone_lighter +usr/bin/zone_welder +usr/bin/zviewer +usr/lib/*/libs3tc_compressor.so.* +usr/share/nel/nl_sample_chat +usr/share/nel/nl_sample_class_transport +usr/share/nel/nl_sample_clusterview +usr/share/nel/nl_sample_configfile +usr/share/nel/nl_sample_font +usr/share/nel/nl_sample_georges +usr/share/nel/nl_sample_i18n +usr/share/nel/nl_sample_login_system +usr/share/nel/nl_sample_pacs +usr/share/nel/nl_sample_sound +usr/share/nel/nl_sample_udp +usr/share/nel/zviewer diff --git a/dist/debian/trusty/debian/rules b/dist/debian/trusty/debian/rules new file mode 100755 index 000000000..2b329f3be --- /dev/null +++ b/dist/debian/trusty/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f +%: + dh $@ --buildsystem=cmake --parallel + +override_dh_strip: + dh_strip -plibnel0 --dbg-package=libnel0-dbg + dh_strip -pnel-tools --dbg-package=nel-tools-dbg + dh_strip -plibryzom-sevenzip0 --dbg-package=libryzom-sevenzip0-dbg + dh_strip -plibryzom-gameshare0 --dbg-package=libryzom-gameshare0-dbg + dh_strip -plibryzom-clientsheets0 --dbg-package=libryzom-clientsheets0-dbg + dh_strip -pryzom-client --dbg-package=ryzom-client-dbg + dh_strip -pryzom-tools --dbg-package=ryzom-tools-dbg + +override_dh_auto_configure: + dh_auto_configure -- -DLIBRARY_ARCHITECTURE=$(DEB_HOST_MULTIARCH) -DTARGET_CPU=$(DEB_HOST_GNU_CPU) -DWITH_SYMBOLS=ON -DNL_ETC_PREFIX=/etc/nel -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/games/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/games -DWITH_RYZOM_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_LIBWWW_STATIC=ON -DWITH_QT=ON + +override_dh_install: + dh_install + install -m755 debian/ryzom debian/ryzom-client/usr/games/ryzom diff --git a/dist/debian/trusty/debian/ryzom b/dist/debian/trusty/debian/ryzom new file mode 100755 index 000000000..79923e9e9 --- /dev/null +++ b/dist/debian/trusty/debian/ryzom @@ -0,0 +1,116 @@ +#!/bin/sh + +P7ZIP=/usr/bin/7z +RSYNC=/usr/bin/rsync +WGET=/usr/bin/wget +RYZOM_CLIENT=/usr/games/ryzom_client +RYZOM_CONFIG_DEFAULT=/etc/ryzom/client_default.cfg +RYZOM_CONFIG=~/.ryzom/client.cfg + +RYZOM_DIR=~/.ryzom +DATA_DIR=$RYZOM_DIR/data + +mkdir -p $RYZOM_DIR + +if [ ! -d "$DATA_DIR" ] +then + # symlink user's data dir to ryzom data cache + ln -s /var/cache/ryzom/data $DATA_DIR +fi + +# Check if a directory contains Ryzom data +ryzom_data_found() +{ + # Check for directory, gamedev.bnp and ryzom.ttf + COUNT=0 + + if [ -d $1 ] + then + # If there are a least 220 bnp files, we could use this directory + # There are 226 bnp files in last version + COUNT=$(find -L $1 -name *.bnp | wc -l) + fi + + echo $COUNT +} + +COUNT=$(ryzom_data_found $DATA_DIR) + +echo "Found $COUNT BNP files in $DATA_DIR" + +if [ $COUNT -lt 220 ] && [ -f $WGET ] && [ -f $P7ZIP ] +then + mkdir -p "$DATA_DIR/tmp" + + # Check free diskspace + echo "Checking for free disk space..." + DISKSPACE=$(df "$DATA_DIR/tmp" | grep "/dev" | awk '{print $4}') + if [ $? -ne 0 ] + then + exit 1 + fi + if [ "$DISKSPACE" -lt "8000000" ] + then + echo "You don't have enough free space to download and uncompress Ryzom client data." + exit 1 + fi + + # Download + echo "Downloading ryzom_client.7z from sourceforge..." + # wget + $WGET -c http://sourceforge.net/projects/ryzom/files/ryzom_client.7z -O "$DATA_DIR/tmp/ryzom_client.7z" + if [ $? -ne 0 ] + then + exit 1 + fi + + # Extract data + echo "Extracting data from ryzom_client.7z..." + cd "$DATA_DIR/tmp" + # 7z + $P7ZIP x ryzom_client.7z + if [ $? -ne 0 ] + then + exit 1 + fi + cd .. + mv -uf tmp/ryzom/data/* . + # Delete temporary downloaded files + rm -rf tmp +fi + +if [ -f $RYZOM_CONFIG ] +then + echo "Updating $RYZOM_CONFIG..." + + # Escape path for sed using bash find and replace + RYZOM_CONFIG_DEFAULT_ESCAPED=$(echo $RYZOM_CONFIG_DEFAULT | sed 's/\//\\\//g') + + # Update RootConfigFilename to be sure it's using the right default config + sed -i 's/RootConfigFilename.*/RootConfigFilename = \"'$RYZOM_CONFIG_DEFAULT_ESCAPED'\"/g' $RYZOM_CONFIG +fi + +if [ -f $RSYNC ] +then + echo "Patching Ryzom data..." + + # Rsync + $RSYNC -rOtzv --progress --stats www.ryzom.com::ryzom/data/ $DATA_DIR + if [ $? -ne 0 ] + then + exit 1 + fi +fi + +# Launch Ryzom client if it exists +if [ -f $RYZOM_CLIENT ] +then + echo "Launching Ryzom..." + + nohup $RYZOM_CLIENT $1 $2 $3 2> /dev/null & +fi + +# Wait until all previous commands are executed and displayed before exiting +sync + +exit 0 diff --git a/dist/debian/trusty/debian/ryzom-client-config.install b/dist/debian/trusty/debian/ryzom-client-config.install new file mode 100644 index 000000000..bef3f53dd --- /dev/null +++ b/dist/debian/trusty/debian/ryzom-client-config.install @@ -0,0 +1 @@ +debian/client_default.cfg etc/ryzom diff --git a/dist/debian/trusty/debian/ryzom-client.dirs b/dist/debian/trusty/debian/ryzom-client.dirs new file mode 100644 index 000000000..d1571095c --- /dev/null +++ b/dist/debian/trusty/debian/ryzom-client.dirs @@ -0,0 +1,4 @@ +usr/games +usr/share/applications +usr/share/pixmaps +var/cache/ryzom/data diff --git a/dist/debian/trusty/debian/ryzom-client.install b/dist/debian/trusty/debian/ryzom-client.install new file mode 100644 index 000000000..be142a6be --- /dev/null +++ b/dist/debian/trusty/debian/ryzom-client.install @@ -0,0 +1,4 @@ +usr/games/ryzom_client +usr/share/icons +usr/share/pixmaps +debian/ryzom_client.desktop usr/share/applications diff --git a/dist/debian/trusty/debian/ryzom-client.menu b/dist/debian/trusty/debian/ryzom-client.menu new file mode 100644 index 000000000..5e15bf577 --- /dev/null +++ b/dist/debian/trusty/debian/ryzom-client.menu @@ -0,0 +1,6 @@ +?package(ryzom-client): \ + needs="x11" \ + section="Games/Adventure" \ + icon="/usr/share/pixmaps/ryzom.xpm" \ + title="Ryzom" \ + command="/usr/games/ryzom" diff --git a/dist/debian/trusty/debian/ryzom-client.postinst b/dist/debian/trusty/debian/ryzom-client.postinst new file mode 100644 index 000000000..51570a3dc --- /dev/null +++ b/dist/debian/trusty/debian/ryzom-client.postinst @@ -0,0 +1,10 @@ +#!/bin/sh + +if ! getent group ryzom ; then + addgroup --system ryzom +fi + +chgrp -R ryzom /var/cache/ryzom/data +chmod -R g+wrxs /var/cache/ryzom/data + +#DEBHELPER# diff --git a/dist/debian/trusty/debian/ryzom-client.postrm b/dist/debian/trusty/debian/ryzom-client.postrm new file mode 100644 index 000000000..828871eb4 --- /dev/null +++ b/dist/debian/trusty/debian/ryzom-client.postrm @@ -0,0 +1,49 @@ +#! /bin/sh +# postrm script for ryzom-client +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see /usr/share/doc/packaging-manual/ + +case "$1" in + purge) + + FILES=/home/* + + for f in $FILES + do + FOLDER="$f/.ryzom/data" + + if [ -d $FOLDER ] + then + rm -rf $FOLDER + echo "Deleting $FOLDER..." + fi + done + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +#DEBHELPER# + +exit 0 diff --git a/dist/debian/trusty/debian/ryzom-tools.install b/dist/debian/trusty/debian/ryzom-tools.install new file mode 100644 index 000000000..c468e32d8 --- /dev/null +++ b/dist/debian/trusty/debian/ryzom-tools.install @@ -0,0 +1,26 @@ +usr/bin/7zDec +usr/bin/alias_synchronizer +usr/bin/assoc_mem +usr/bin/csv_transform +usr/bin/georges_editor_qt +usr/bin/icon_search +usr/bin/make_alias_file +usr/bin/make_anim_by_race +usr/bin/make_anim_melee_impact +usr/bin/mp_generator +usr/bin/named2csv +usr/bin/patch_gen +usr/bin/patch_gen_service +usr/bin/pd_parser +usr/bin/pdr_util +usr/bin/prim_export +usr/bin/ryzom_mission_compiler +usr/bin/sheets_packer +usr/bin/skill_extractor +usr/bin/stats_scan +usr/bin/translation_tools +usr/bin/uni_conv +usr/games/ryzom_client_patcher +usr/lib/*/libryzom_mission_compiler_lib.so.* +usr/share/games/ryzom/data_leveldesign +usr/share/games/ryzom/georges_editor_qt diff --git a/dist/debian/trusty/debian/ryzom_client.desktop b/dist/debian/trusty/debian/ryzom_client.desktop new file mode 100644 index 000000000..1c62d1b6a --- /dev/null +++ b/dist/debian/trusty/debian/ryzom_client.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Name=Ryzom +Name[ru]=Ризом +Type=Application +GenericName=ryzom_client +Exec=/usr/games/ryzom +Icon=ryzom_client +Terminal=true +Hidden=false +Categories=Game;RolePlaying; diff --git a/dist/debian/trusty/debian/source/format b/dist/debian/trusty/debian/source/format new file mode 100644 index 000000000..b9b023757 --- /dev/null +++ b/dist/debian/trusty/debian/source/format @@ -0,0 +1,2 @@ +1.0 + diff --git a/dist/debian/update.sh b/dist/debian/update.sh new file mode 100755 index 000000000..a68d3edb4 --- /dev/null +++ b/dist/debian/update.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +HGBIN="/usr/bin/hg" +CODEROOT=../../code + +echo "Generating changelogs..." +$HGBIN log -M --style $CODEROOT/changelog.template > $CODEROOT/changelog + +REVISION=$($HGBIN identify -n | grep -o -P "[0-9]+") +echo "Found revision $REVISION" + +REVISION_H=$CODEROOT/revision.h + +# Copy revision.h template +cp $REVISION_H.in $REVISION_H + +DATE=$(date "+%Y-%m-%d %H:%M:%S") + +# Update revision.h with revision and build date +sed -i 's/#cmakedefine/#define/g' $REVISION_H +sed -i 's/${REVISION}/'$REVISION'/g' $REVISION_H +sed -i 's/${BUILD_DATE}/'"$DATE"'/g' $REVISION_H + +VERSION=$(./ryzomcore_version.sh) + +if [ -z "$VERSION" ] +then + echo "Can't parse version from $VERSION_FILE, aborting..." + exit 1 +fi + +DSTFOLDER=ryzom-core-$VERSION.$REVISION + +# remove destination folder if present +rm -rf $DSTFOLDER.orig +# copy all files +echo "Copying files to $DSTFOLDER..." +cp -r -p $CODEROOT $DSTFOLDER.orig + +echo "Removing web files, because we don't need them and they generate lintian errors..." +rm -rf $DSTFOLDER.orig/web + +echo "Done. Now launch ./update_debian.sh " diff --git a/dist/debian/update_debian.sh b/dist/debian/update_debian.sh new file mode 100755 index 000000000..8c2c5dd7d --- /dev/null +++ b/dist/debian/update_debian.sh @@ -0,0 +1,88 @@ +#!/bin/sh + +HGBIN="/usr/bin/hg" +DCHBIN="/usr/bin/dch" + +if [ ! -e $DCHBIN ] +then + apt-get install devscripts debhelper +fi + +DISTRIB=$1 +MINORDISTRIB=$2 + +if [ -z "$DISTRIB" ] +then + echo "You must specify a distribution" + exit 1 +fi + +if [ -z "$MINORDISTRIB" ] +then + MINORDISTRIB=1 +fi + +if [ ! -d "$DISTRIB" ] +then + echo "$DISTRIB is not supported, you can create the folder or compile for another version." + exit 1 +fi + +echo "Targetting $DISTRIB..." + +VERSION=$(./ryzomcore_version.sh) + +if [ -z "$VERSION" ] +then + echo "Can't parse version from $VERSION_FILE, aborting..." + exit 1 +fi + +REVISION=$($HGBIN identify -n | grep -o -P "[0-9]+") + +DSTFOLDER=ryzom-core-$VERSION.$REVISION + +if [ ! -d "$DSTFOLDER.orig" ] +then + echo "$DSTFOLDER.orig doesn't exist, did you forget to launch ./update.sh?" + exit 1 +fi + +# copy files if directory doesn't exist +if [ ! -d $DSTFOLDER ] +then + # copy all files + echo "Copying files to $DSTFOLDER..." + cp -r -p $DSTFOLDER.orig $DSTFOLDER +fi + +cd $DSTFOLDER + +echo "Copying debian directory..." +# delete debian directory if present +rm -rf debian +# create debian folder +mkdir -p debian +# copy debian folder +cp -r -p ../$DISTRIB/debian . + +# returning the line with the version +LAST_VERSION=`grep $VERSION.$REVISION debian/changelog` +FULL_VERSION=$VERSION.$REVISION-1~$DISTRIB$MINORDISTRIB + +# adding the new version to changelog +if [ -z "$LAST_VERSION" ] +then + echo "Adding $FULL_VERSION to debian/changelog for $DISTRIB" + $DCHBIN --force-distribution -b -v $FULL_VERSION -D $DISTRIB "New upstream release (revision $REVISION)" +else + echo "Last version is $LAST_VERSION" +fi + +echo "Creating source package..." +debuild -S + +cd .. + +echo "Done." +echo "If you want to upload source to your PPA, type: dput ryzom-core_"$FULL_VERSION"_source.changes" diff --git a/dist/debian/utopic/debian/changelog b/dist/debian/utopic/debian/changelog new file mode 100644 index 000000000..44f3e244e --- /dev/null +++ b/dist/debian/utopic/debian/changelog @@ -0,0 +1,408 @@ +ryzom-core (0.8.2802~raring1) raring; urgency=low + + * New upstream release (revision 2802) + + -- Cédric OCHS Mon, 10 Dec 2012 11:12:17 +0100 + +ryzom-core (0.8.2786~raring1) raring; urgency=low + + * New upstream release (revision 2786) + + -- Cédric OCHS Fri, 07 Dec 2012 16:33:15 +0100 + +ryzom-core (0.8.2691~quantal1) quantal; urgency=low + + * New upstream release (revision 2691) + + -- Cédric OCHS Sun, 07 Oct 2012 09:46:56 +0200 + +ryzom-core (0.8.2682~quantal1) quantal; urgency=low + + * New upstream release (revision 2682) + + -- Cédric OCHS Wed, 03 Oct 2012 15:59:54 +0200 + +ryzom-core (0.8.2681~quantal2) quantal; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 17:42:23 +0200 + +ryzom-core (0.8.2681~quantal1) quantal; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 17:13:57 +0200 + +ryzom-core (0.8.2650~quantal2) quantal; urgency=low + + * New upstream release (revision 2650) + + -- Cédric OCHS Mon, 24 Sep 2012 22:06:37 +0200 + +ryzom-core (0.8.2650~quantal1) quantal; urgency=low + + * New upstream release (revision 2650) + + -- Cédric OCHS Mon, 24 Sep 2012 20:55:19 +0200 + +ryzom-core (0.8.2025~precise1) precise; urgency=low + + * New upstream release (revision 2025) + + -- Cédric OCHS Sat, 10 Mar 2012 22:23:49 +0100 + +ryzom-core (0.8.2024~precise1) precise; urgency=low + + * New upstream release (revision 2024) + + -- Cédric OCHS Sat, 10 Mar 2012 11:16:08 +0100 + +ryzom-core (0.8.1847~natty1) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Mon, 17 Oct 2011 09:33:45 +0200 + +ryzom-core (0.8.1847~natty0) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Sun, 16 Oct 2011 18:45:27 +0200 + +ryzom-core (0.8.1758~natty0) natty; urgency=low + + * New upstream release (revision 1758) + + -- Cédric OCHS Tue, 16 Aug 2011 09:02:55 +0200 + +ryzom-core (0.8.1752~natty0) natty; urgency=low + + * New upstream release (revision 1752) + + -- Cédric OCHS Sun, 14 Aug 2011 16:07:29 +0200 + +ryzom-core (0.8.1751~natty0) natty; urgency=low + + * New upstream release (revision 1751) + + -- Cédric OCHS Sun, 14 Aug 2011 14:16:24 +0200 + +ryzom-core (0.8.1750~natty0) natty; urgency=low + + * New upstream release (revision 1750) + + -- Cédric OCHS Sun, 14 Aug 2011 12:30:18 +0200 + +ryzom-core (0.8.1744~natty0) natty; urgency=low + + * New upstream release (revision 1744) + + -- Cédric OCHS Sat, 13 Aug 2011 20:24:49 +0200 + +ryzom-core (0.8.1742~natty0) natty; urgency=low + + * New upstream release (revision 1742) + + -- Cédric OCHS Fri, 12 Aug 2011 18:11:07 +0200 + +ryzom-core (0.8.1628~natty0) natty; urgency=low + + * New upstream release (revision 1628) + + -- Cédric OCHS Fri, 17 Jun 2011 12:56:17 +0200 + +ryzom-core (0.8.1627~natty0) natty; urgency=low + + * New upstream release (revision 1627) + + -- Cédric OCHS Tue, 14 Jun 2011 20:37:05 +0200 + +ryzom-core (0.8.1611~natty0) natty; urgency=low + + * New upstream release (revision 1611) + + -- Cédric OCHS Wed, 08 Jun 2011 19:53:44 +0200 + +ryzom-core (0.8.1596~natty1) natty; urgency=low + + * New upstream release (revision 1596) + + -- Cédric OCHS Sat, 04 Jun 2011 18:11:45 +0200 + +ryzom-core (0.7.1406~natty0) natty; urgency=low + + * New upstream release (revision 1406) + + -- Kervala Sun, 13 Mar 2011 19:07:44 +0100 + +ryzom-core (0.7.1404~karmic0) karmic; urgency=low + + * New upstream release (revision 1404) + + -- Kervala Thu, 10 Mar 2011 20:13:35 +0100 + +ryzom-core (0.7.1122~karmic0) karmic; urgency=low + + * New upstream release (revision 1122) + + -- Kervala Thu, 25 Nov 2010 13:18:41 +0100 + +ryzom-core (0.7.992~karmic0) karmic; urgency=low + + * New upstream release (revision 992) + + -- Kervala Tue, 19 Oct 2010 13:44:23 +0200 + +ryzom-core (0.7.941~karmic0) karmic; urgency=low + + * New upstream release (revision 941) + + -- Kervala Sat, 16 Oct 2010 14:59:36 +0200 + +ryzom-core (0.7.933~karmic0) karmic; urgency=low + + * New upstream release (revision 933) + + -- Kervala Fri, 15 Oct 2010 22:29:44 +0200 + +ryzom-core (0.7.932~karmic0) karmic; urgency=low + + * New upstream release (revision 932) + + -- Kervala Fri, 15 Oct 2010 19:53:47 +0200 + +ryzom-core (0.7.666~karmic0) karmic; urgency=low + + * New upstream release (revision 666) + + -- Kervala Sun, 29 Aug 2010 17:56:06 +0200 + +ryzom-core (0.7.631~karmic0) karmic; urgency=low + + * New upstream release (revision 631) + + -- Kervala Thu, 12 Aug 2010 16:57:30 +0200 + +ryzom-core (0.7.614~lucid1) lucid; urgency=low + + * Fixed dependencies + + -- Kervala Sun, 08 Aug 2010 22:42:50 +0200 + +ryzom-core (0.7.614~lucid0) lucid; urgency=low + + * New upstream release (revision 614) + + -- Kervala Sun, 08 Aug 2010 21:53:00 +0200 + +ryzom-core (0.7.583~lucid1) lucid; urgency=low + + * Added dependency on libogg and libvorbis + + -- Kervala Sun, 01 Aug 2010 15:38:40 +0200 + +ryzom-core (0.7.583~lucid0) lucid; urgency=low + + * New upstream release (revision 583) + + -- Kervala Sun, 01 Aug 2010 14:43:28 +0200 + +ryzom-core (0.7.530~lucid0) lucid; urgency=low + + * New upstream release (revision 530) + + -- Kervala Sun, 25 Jul 2010 16:50:57 +0200 + +ryzom-core (0.7.519~lucid0) lucid; urgency=low + + * New upstream release (revision 519) + + -- Kervala Mon, 19 Jul 2010 22:24:05 +0200 + +ryzom-core (0.7.507~lucid0) lucid; urgency=low + + * New upstream release (revision 507) + + -- Kervala Sat, 17 Jul 2010 19:56:35 +0200 + +ryzom-core (0.7.474~lucid0) lucid; urgency=low + + * New upstream release (revision 474) + + -- Kervala Tue, 13 Jul 2010 08:56:24 +0200 + +ryzom-core (0.7.473~lucid1) lucid; urgency=low + + * Some fixes + + -- Kervala Mon, 12 Jul 2010 22:46:16 +0200 + +ryzom-core (0.7.473~lucid0) lucid; urgency=low + + * New upstream release (revision 473) + + -- Kervala Mon, 12 Jul 2010 22:04:30 +0200 + +ryzom-core (0.7.437~lucid1) lucid; urgency=low + + * Fixed drivers installation + + -- Kervala Thu, 08 Jul 2010 08:54:02 +0200 + +ryzom-core (0.7.437~lucid0) lucid; urgency=low + + * New upstream release (revision 437) + + -- Kervala Thu, 01 Jul 2010 20:07:14 +0200 + +ryzom-core (0.7.419~lucid0) lucid; urgency=low + + * New upstream release (revision 419) + + -- Kervala Sat, 26 Jun 2010 18:58:36 +0200 + +ryzom-core (0.7.411~lucid0) lucid; urgency=low + + * New upstream release (revision 411) + + -- Kervala Sat, 26 Jun 2010 11:00:47 +0200 + +ryzom-core (0.7.404~lucid1) lucid; urgency=low + + * Fix OpenAL driver + + -- Kervala Thu, 24 Jun 2010 23:06:51 +0200 + +ryzom-core (0.7.404~lucid0) lucid; urgency=low + + * New upstream release (revision 404) + + -- Kervala Thu, 24 Jun 2010 22:17:36 +0200 + +ryzom-core (0.7.394~lucid0) lucid; urgency=low + + * New upstream release (revision 394) + + -- Kervala Tue, 22 Jun 2010 06:53:15 +0200 + +ryzom-core (0.7.375~lucid0) lucid; urgency=low + + * New upstream release (revision 375) + + -- Kervala Wed, 16 Jun 2010 12:46:51 +0200 + +ryzom-core (0.7.371~lucid0) lucid; urgency=low + + * New upstream release (revision 371) + + -- Kervala Mon, 14 Jun 2010 22:48:27 +0200 + +ryzom-core (0.7.359~lucid0) lucid; urgency=low + + * New upstream release (revision 359) + + -- Kervala Sun, 13 Jun 2010 21:31:29 +0200 + +ryzom-core (0.7.350~lucid1) lucid; urgency=low + + * Fixes problem with "copy" files + + -- Kervala Sun, 13 Jun 2010 10:36:30 +0200 + +ryzom-core (0.7.350~lucid0) lucid; urgency=low + + * New upstream release (revision 350) + + -- Kervala Sun, 13 Jun 2010 09:55:38 +0200 + +ryzom-core (0.7.332~lucid0) lucid; urgency=low + + * New upstream release (revision 332) + + -- Kervala Sat, 12 Jun 2010 09:09:21 +0200 + +ryzom-core (0.7.317~lucid0) lucid; urgency=low + + * New upstream release (revision 317) + + -- Kervala Thu, 10 Jun 2010 13:11:28 +0200 + +ryzom-core (0.7.315~lucid0) lucid; urgency=low + + * Fixed pkg-config installation again + + -- Kervala Thu, 10 Jun 2010 08:19:44 +0200 + +ryzom-core (0.7.311~lucid2) lucid; urgency=low + + * Fixed pkg-config files + + -- Kervala Wed, 09 Jun 2010 22:58:15 +0200 + +ryzom-core (0.7.311~lucid1) lucid; urgency=low + + * Fixed dependencies versions + + -- Kervala Wed, 09 Jun 2010 22:27:00 +0200 + +ryzom-core (0.7.311~lucid0) lucid; urgency=low + + * New upstream version (revision 311). + + -- Kervala Wed, 09 Jun 2010 21:15:42 +0200 + +ryzom-core (0.7.304~lucid0) lucid; urgency=low + + * New upstream version (revision 304). + + -- Kervala Wed, 09 Jun 2010 08:34:10 +0200 + +ryzom-core (0.7.0-1) unstable; urgency=low + + [ Gürkan Sengün ] + * New upstream version. (Closes: #553248) + * Updated build dependencies. + + [ Michal Čihař ] + * Convert to dh with cmake support. + * Bump standards to 3.8.4. + + [ Luboš Novák ] + * Change maintainer to 'Debian Games Team' + * ftbfs_gcc_4.5.path: Fix build with g++-4.5. (Closes: #565104) + * Converted direct changes in source to patches. + * Enable building CEGUI renderer. + * Add package libnel-doc with documentation. + * debian/control + + Changed priority of libnel-dbg to extra. + + Remove duplicate Section in libnel0. + + Update short descriptions. + + Replace obsolete package xlibmesa-gl-dev with libgl1-mesa-dev + in build-depends. + + Add libpng-dev to build-depends. + + Remove libalut-dev from build-depends. + + New homepage. + + Supported architectures are i386 and amd64. + * debian/libnel-dev.dirs + + Remove empty dir usr/lib/nel. + * debian/copyright + + Update redistribution licence from GPL to GPL-2. + * debian/rules + + Disable building unit test, samples and tools. + + -- Luboš Novák Tue, 30 Mar 2010 10:29:23 +0100 + +ryzom-core (0.5.0-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Change Build-Depends: libstlport5.2-dev. (Closes: #521762) + + -- Torsten Werner Sun, 28 Jun 2009 11:54:05 +0200 + +ryzom-core (0.5.0-1) unstable; urgency=low + + * Initial release. (Closes: #448067) + + -- Gürkan Sengün Tue, 23 Oct 2007 12:56:45 +0200 + diff --git a/dist/debian/utopic/debian/client_default.cfg b/dist/debian/utopic/debian/client_default.cfg new file mode 100644 index 000000000..d09cbbb9c --- /dev/null +++ b/dist/debian/utopic/debian/client_default.cfg @@ -0,0 +1,567 @@ +////////////////////////// +////////////////////////// +/// CLIENT CONFIG FILE /// +////////////////////////// +////////////////////////// + + +// If you set this variable to 1, your client.cfg will be overwritten when you quit the client. +// You will loose all the comments and identation in this file. +SaveConfig = 1; + +/////////////////// +// WINDOW CONFIG // +/////////////////// + +Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2" + // "Auto" will choose the best suited driver depending on hardware +FullScreen = 0; +Width = 1024; +Height = 768; +PositionX = 0; +PositionY = 0; +Frequency = 60; +Depth = 32; +Sleep = -1; +ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time +Contrast = 0.0; // -1.0 ~ 1.0 +Luminosity = 0.0; // -1.0 ~ 1.0 +Gamma = 0.0; // -1.0 ~ 1.0 +Contrast_min = -1.0; +Luminosity_min = -1.0; +Gamma_min = -1.0; +Contrast_max = 1.0; +Luminosity_max = 1.0; +Gamma_max = 1.0; + + +///////////// +// NETWORK // +///////////// + +Application = { "ryzom_live", "./client_ryzom_r.exe", "./" }; +BackgroundDownloader = 0; +PatchServer = "http://dl.ryzom.com/patch_live"; +SignUpURL = "http://www.ryzom.com/subscribe"; +StartupHost = "shard.ryzom.com:40916"; +StartupPage = "/login/r2_login.php"; +InstallStatsUrl = "http://shard.ryzom.com:50000/stats/stats.php"; +CreateAccountURL = "https://secure.ryzom.com/signup/from_client.php"; +InstallWebPage = "http://dl.ryzom.com/installer/"; + + +//////////////// +// INTERFACES // +//////////////// + +// the language to use as in ISO 639-2 +LanguageCode = "en"; // english + +XMLInputFile = "input_config_v3.xml"; + +XMLLoginInterfaceFiles = { + "login_config.xml", + "login_widgets.xml", + "login_main.xml", + "login_keys.xml", +}; + +XMLOutGameInterfaceFiles = { + "out_v2_config.xml", + "out_v2_widgets.xml", + "out_v2_connect.xml", + "out_v2_intro.xml", + "out_v2_select.xml", + "out_v2_appear.xml", + "out_v2_location.xml", + "out_v2_crash.xml", + "out_v2_hierarchy.xml", + "out_v2_keys.xml", +}; + +// The ligo primitive class file +LigoPrimitiveClass = "world_editor_classes.xml"; + +VerboseLog = 1; + +/////////// +// MOUSE // +/////////// +HardwareCursor = 1; + +CursorSpeed = 1.0; // In pixels per mickey +CursorSpeed_min = 0.5; +CursorSpeed_max = 2.0; + +CursorAcceleration = 40; // Threshold in mickey +CursorAcceleration_min = 20; +CursorAcceleration_max = 80; + +FreeLookSpeed = 0.004; // In radian per mickey +FreeLookSpeed_min = 0.0001; +FreeLookSpeed_max = 0.01; + +FreeLookAcceleration = 40; // Threshold in mickey +FreeLookAcceleration_min = 20; +FreeLookAcceleration_max = 80; + +FreeLookInverted = 0; +AutomaticCamera = 0; +DblClickMode = 1; +AutoEquipTool = 1; + +/////////////////// +// RENDER CONFIG // +/////////////////// + +// NB: thoses variables configure also the InGameConfigurator: +// _min and _max define the bounds +// _step defines the step (NB: take care of _min and _max!!) +// _ps0 is the LOW preset, _ps1 is the MEDIUM preset, _ps2 is the NORMAL Preset, and _ps3 is the HIGH one + + +// *** LANDSCAPE +LandscapeTileNear = 150.000000; +LandscapeTileNear_min = 20.000000; +LandscapeTileNear_max = 250.000000; +LandscapeTileNear_step = 10.0; +LandscapeTileNear_ps0 = 20.0; +LandscapeTileNear_ps1 = 100.0; +LandscapeTileNear_ps2 = 150.0; +LandscapeTileNear_ps3 = 200.0; + +// NB: threshold is inverted ULandscape::setThreshold(), to be more intelligible +LandscapeThreshold = 2000.0; +LandscapeThreshold_min = 100.0; // Low quality => 0.01 threshold +LandscapeThreshold_max = 4000.0; // High quality => 0.0005 threshold +LandscapeThreshold_step = 100.0; +LandscapeThreshold_ps0 = 100.0; +LandscapeThreshold_ps1 = 1000.0; +LandscapeThreshold_ps2 = 2000.0; +LandscapeThreshold_ps3 = 3000.0; + +Vision = 500.000000; +Vision_min = 200.000000; +Vision_max = 800.000000; +Vision_step = 100.000000; +Vision_ps0 = 200.0; +Vision_ps1 = 400.0; +Vision_ps2 = 500.0; +Vision_ps3 = 800.0; + +MicroVeget = 1; // Enable/Disable MicroVeget. +MicroVeget_ps0 = 0; +MicroVeget_ps1 = 1; +MicroVeget_ps2 = 1; +MicroVeget_ps3 = 1; + +MicroVegetDensity = 80.0; +MicroVegetDensity_min = 10.0; +MicroVegetDensity_max = 100.0; +MicroVegetDensity_step = 10.0; +MicroVegetDensity_ps0 = 10.0; // not used since disabled! +MicroVegetDensity_ps1 = 30.0; +MicroVegetDensity_ps2 = 80.0; +MicroVegetDensity_ps3 = 100.0; + + +// *** FX +FxNbMaxPoly = 20000; +FxNbMaxPoly_min = 2000; +FxNbMaxPoly_max = 50000; +FxNbMaxPoly_step= 2000; +FxNbMaxPoly_ps0 = 2000; +FxNbMaxPoly_ps1 = 10000; +FxNbMaxPoly_ps2 = 20000; +FxNbMaxPoly_ps3 = 50000; + +Cloud = 1; +Cloud_ps0 = 0 ; +Cloud_ps1 = 1 ; +Cloud_ps2 = 1 ; +Cloud_ps3 = 1 ; + +CloudQuality = 160.0; +CloudQuality_min = 80.0; +CloudQuality_max = 320.0; +CloudQuality_step = 20.0; +CloudQuality_ps0 = 80.0; // not used since disabled! +CloudQuality_ps1 = 80.0; +CloudQuality_ps2 = 160.0; +CloudQuality_ps3 = 320.0; + +CloudUpdate = 1; +CloudUpdate_min = 1; +CloudUpdate_max = 8; +CloudUpdate_step= 1; +CloudUpdate_ps0 = 1; // not used since disabled! +CloudUpdate_ps1 = 1; +CloudUpdate_ps2 = 1; +CloudUpdate_ps3 = 3; + +Shadows = 1; +Shadows_ps0 = 0; +Shadows_ps1 = 1; +Shadows_ps2 = 1; +Shadows_ps3 = 1; + +Bloom = 0; +Bloom_ps0 = 0; +Bloom_ps1 = 1; +Bloom_ps2 = 1; +Bloom_ps3 = 1; + +SquareBloom = 1; +SquareBloom_ps0 = 0; +SquareBloom_ps1 = 1; +SquareBloom_ps2 = 1; +SquareBloom_ps3 = 1; + +DensityBloom = 255.0; +DensityBloom_min = 0.0; +DensityBloom_max = 255.0; +DensityBloom_step = 1.0; +DensityBloom_ps0 = 255.0; +DensityBloom_ps1 = 255.0; +DensityBloom_ps2 = 255.0; +DensityBloom_ps3 = 255.0; + + +// *** CHARACTERS +SkinNbMaxPoly = 100000; +SkinNbMaxPoly_min = 5000; +SkinNbMaxPoly_max = 250000; +SkinNbMaxPoly_step = 5000; +SkinNbMaxPoly_ps0 = 10000; +SkinNbMaxPoly_ps1 = 70000; +SkinNbMaxPoly_ps2 = 100000; +SkinNbMaxPoly_ps3 = 200000; + +NbMaxSkeletonNotCLod = 125; +NbMaxSkeletonNotCLod_min = 5; +NbMaxSkeletonNotCLod_max = 255; +NbMaxSkeletonNotCLod_step = 5; +NbMaxSkeletonNotCLod_ps0 = 10; +NbMaxSkeletonNotCLod_ps1 = 50; +NbMaxSkeletonNotCLod_ps2 = 125; +NbMaxSkeletonNotCLod_ps3 = 255; + +CharacterFarClip = 200.0; +CharacterFarClip_min = 50.0; +CharacterFarClip_max = 500.0; +CharacterFarClip_step = 10.0; +CharacterFarClip_ps0 = 50.0; +CharacterFarClip_ps1 = 100.0; +CharacterFarClip_ps2 = 200.0; +CharacterFarClip_ps3 = 500.0; + +EnableRacialAnimation = 1; + +// *** MISC +// This is the actual aspect ratio of your screen (no relation with the resolution!!). Set 1.7777 if you got a 16/9 screen for instance +ScreenAspectRatio = 0.0; +ForceDXTC = 1; // Enable/Disable DXTC. +DivideTextureSizeBy2= 0; // Divide texture size +DisableVtxProgram = 0; // Disable Hardware Vertex Program. +DisableVtxAGP = 0; // Disable Hardware Vertex AGP. +DisableTextureShdr = 0; // Disable Hardware Texture Shader. +HDEntityTexture = 0; +HDTextureInstalled = 1; +WaitVBL = 0; // 0 or 1 to wait Vertical Sync. + +////////////////// +// GAME OPTIONS // +////////////////// +SelectWithRClick = 1; +DisplayWeapons = 1; +RotKeySpeedMax = 2.0; +RotKeySpeedMax_min = 1.0; +RotKeySpeedMax_max = 4.0; +RotKeySpeedMin = 1.0; +RotKeySpeedMin_min = 0.5; +RotKeySpeedMin_max = 2.0; +RotAccel = 3.0; +FollowOnAtk = 0; +AtkOnSelect = 0; +ZCPacsPrim = "gen_bt_col_ext.pacs_prim"; + +///////////////// +// PREFERENCES // +///////////////// +FPV = 0; // FPV(First Person View) : default is false (Third Person View). +CameraHeight = 2.2; // Camera Height (in meter) from the ground (for the Third Person View). +CameraDistance = 3.0; // Camera Distance(in meter) from the user (for the Third Person View). +CameraDistStep = 1.0; +CameraDistMin = 1.0; +CameraDistMax = 25.0; +CameraAccel = 5.0; +CameraSpeedMin = 2.0; +CameraSpeedMax = 100.0; +CameraResetSpeed = 10.0; // Speed in radian/s + +////////////////// +// SOUND CONFIG // +////////////////// +SoundForceSoftwareBuffer= 1; +SoundOn = 1; +UseEax = 0; + +MaxTrack = 32; +MaxTrack_min = 4; +MaxTrack_max = 32; +MaxTrack_step = 4; + +// This is the volume for "InGame" sound FXs +SoundSFXVolume = 1.0; +SoundSFXVolume_min = 0.0; +SoundSFXVolume_max = 1.0; +SoundSFXVolume_step = 0.001; + +// This is volume for "InGame" music. Does not affect the MP3 player +SoundGameMusicVolume = 0.5; +SoundGameMusicVolume_min = 0.0; +SoundGameMusicVolume_max = 1.0; +SoundGameMusicVolume_step = 0.001; + +// MISC +PreDataPath = { "user", "patch", "examples", "data/fonts", "data/gamedev.bnp" }; +DataPath = { "data" }; +NeedComputeVS = 0; + +NegFiltersDebug = {"Update DB", "Reading:", "Read Value :", "impulseCallBack", "CLIMPD:", "LNET" }; +NegFiltersInfo = { "CLIMPD:", "CPath::lookup" , "LNET" }; +NegFiltersWarning = { "'basics.Equipment Slot'.", "_usercolor.tga", "PACS" }; + +// Big screen shot +ScreenShotWidth = 0; +ScreenShotHeight = 0; +ScreenShotFullDetail = 1; // 1 to switch full detail mode for characters (both standard & big screenshots) + +// Read : "ID", "R G B A MODE [FX]" +SystemInfoColors = +{ +// OLD STUFF Here for compatibility +"RG", "0 0 0 255 normal", // Black to see when there is an error +"BC", "0 0 0 255 normal", // Black to see when there is an error +"JA", "0 0 0 255 normal", // Black to see when there is an error +"BL", "0 0 0 255 normal", // Black to see when there is an error +"VE", "0 0 0 255 normal", // Black to see when there is an error +"VI", "0 0 0 255 normal", // Black to see when there is an error + +// NEW System Info Categories +"SYS", "255 255 255 255 normal", // Default system messages +"BC", "255 255 255 255 centeraround", // Broadcast messages +"TAGBC", "255 255 255 255 centeraround", // Taged broadcast messages : color should remain white as some word are tagged +"XP", "255 255 64 255 over", // XP Gain +"SP", "255 255 64 255 over", // SP Gain +"TTL", "255 255 64 255 over", // Title +"TSK", "255 255 255 255 over", // Task +"ZON", "255 255 255 255 center", // Zone +"DG", "255 0 0 255 normal", // Damage to me +"DMG", "255 0 0 255 normal", // Damage to me +"DGP", "200 0 0 255 normal", // Damage to me from player +"DGM", "255 128 64 255 normal", // Damage from me +"MIS", "150 150 150 255 normal", // The opponent misses +"MISM", "255 255 255 255 normal", // I miss +"ITM", "0 200 0 255 over", // Item +"ITMO", "170 170 255 255 overonly", // Item other in group +"ITMF", "220 0 220 255 over", // Item failed +"SPL", "50 50 250 255 normal", // Spell to me +"SPLM", "50 150 250 255 normal", // Spell from me +"EMT", "255 150 150 255 normal", // Emote +"MTD", "255 255 0 255 over", // Message Of The Day +"FORLD","64 255 64 255 overonly", // Forage Locate Deposit +"CHK", "255 120 60 255 center", // Tous ce qui ne remplit pas une condition +"CHKCB","255 255 0 255 center", // Tous ce qui ne remplit pas une condition en combat (trop loin, cible invalide, pas assez de mana, etc.) +"PVPTM","255 120 60 255 overonly", // PVP timer +"THM", "255 255 64 255 over misc_levelup.ps", // Thema finished +"AMB", "255 255 64 255 center", // Ambiance +"ISE", "192 208 255 255 normal", // Item special effect +"ISE2", "192 208 255 255 center", // Item special effect with center text (for effects without flying text) +"OSM", "128 160 255 255 center", // Outpost state message +"AROUND","255 255 0 255 around", // Only in around channel +"R2_INVITE","0 255 0 255 around", // Ring invitation +}; + +PrintfCommands = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +PrintfCommandsFreeTrial = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +DisplayMissingAnimFile = 0; + +LoadingStringCount = 54; + + +// Some R2 parameters ... + +R2Mode = 1; +R2EDEnabled = 1; +R2EDExtendedDebug = 0; +R2EDLightPalette = 0; +R2ClientGw = "r2linux01"; +LoadLuaDebugger = 0; +CheckR2ScenarioMD5 = 1; +LevelDesignEnabled = 0; + +DmCameraDistMax = 25; +DmRun = 20; +DmWalk = 6; + +R2EDReloadFiles = { + "r2ed.xml", + "r2_basic_bricks.lua", + "r2_components.lua", + "r2_core.lua", + "r2_features_default.lua", + "r2_features_fauna.lua", + "r2_features_npc_groups.lua", + "r2_palette.lua", + "r2_scenario.lua", + "r2_ui.lua" +}; + +XMLInterfaceFiles = { + "config.xml", + "widgets.xml", + "webig_widgets.xml", + "player.xml", + "inventory.xml", + "interaction.xml", + "phrase.xml", + "harvest.xml", + "macros.xml", + "info_player.xml", + "outpost.xml", + "guild.xml", + "taskbar.xml", + "game_config.xml", + "game_context_menu.xml", + "player_trade.xml", + "bot_chat_v4.xml", + "compass.xml", + "map.xml", + "hierarchy.xml", + "reset.xml", + "actions.xml", + "help.xml", + "encyclopedia.xml", + "commands.xml", + "commands2.xml", + "ring_access_point_filter.xml", + "ring_window.xml", + "bg_downloader.xml" +}; + +XMLR2EDInterfaceFiles = +{ + "r2ed.xml", + "r2_triggers.xml", + "r2_logic_entities.xml", + "r2ed_acts.xml", + "r2ed_scenario.xml", + "r2ed_connect.xml" +}; + +FogDistAndDepthLookupBias = 20; // bias for lookup of fog distance and depth + + +// Hardware cursor textures +// These will be extracted from the corresponding packed ui .tga files when they are loaded +// * +// * individual .tga files for hardware cursor bitmap not looked for, and not supported yet +HardwareCursors = +{ + "curs_can_pan.tga", + "curs_can_pan_dup.tga", + "curs_create.tga", + "curs_create_multi.tga", + "curs_create_vertex_invalid.tga", + "curs_default.tga", + "curs_dup.tga", + "curs_L.tga", + "curs_M.tga", + "curs_pan.tga", + "curs_pan_dup.tga", + "curs_pick.tga", + "curs_pick_dup.tga", + "curs_R.tga", + "curs_resize_BL_TR.tga", + "curs_resize_BR_TL.tga", + "curs_resize_LR.tga", + "curs_resize_TB.tga", + "curs_rotate.tga", + "curs_scale.tga", + "curs_stop.tga", + "text_cursor.tga", + "r2_hand_can_pan.tga", + "r2_hand_pan.tga", + "r2ed_tool_can_pick.tga", + "r2ed_tool_can_rotate.tga", + "r2ed_tool_pick.tga", + "r2ed_tool_rotate.tga", + "r2ed_tool_rotating.tga" +}; + +Loading_BG = "new_loading_bg.tga"; // Default name for the loading background file. +Launch_BG = "new_launcher_bg.tga"; // Default name for the launch background file. +TeleportKami_BG = "new_teleport_kami_bg.tga"; +TeleportKaravan_BG = "new_teleport_caravan_bg.tga"; +Elevator_BG = "new_elevator_bg.tga"; // Default name for the loading background file. +ResurectKami_BG = "new_resurect_kami_bg.tga"; +ResurectKaravan_BG = "new_resurect_caravane_bg.tga"; +End_BG = "end_bg.tga"; // Default name for the last background file. + +ScenarioSavePath = "./my_scenarios/"; + +// list ofpredefined keyset +// name will be looked up in the translation file by searching 'uiCP_KeysetName_" + id +// tooltip will be looked up in the translation file by searching 'uiCP_KeysetTooltip_" + id +// 'bi.' stands for built-in +// note : we add a dot in the name to be sure that there cannot be a conflict with character keyset name +BuiltInKeySets = +{ + "", // default ryzom keyboard layout + "bi.zqsd", // european keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is french or belgian) + "bi.wasd", // english keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is not french nor belgian) + "bi.wow_alike" // 'world of warcraft' like keyboard style. (NB : not available for ring) +}; + +// "Newbie Training", "Story Telling", "Mistery", "Hack & Slash", "Guild Training", "Other" +ScenarioTypes = {"so_newbie_training","so_story_telling","so_mistery","so_hack_slash","so_guild_training","so_other"}; + +ScenarioLanguages = {"fr","de","en","other_lang"}; + +// Map each language to a forum help page +HelpPages = +{ + "fr=http://forums.ryzom.com/forum/showthread.php?t=29130", + "en=http://forums.ryzom.com/forum/showthread.php?t=29129", + "wk=http://forums.ryzom.com/forum/showthread.php?t=29129", + "de=http://forums.ryzom.com/forum/showthread.php?t=29131" +}; + +WebIgMainDomain = "app.ryzom.com"; +WebIgTrustedDomains = { + "api.ryzom.com", "app.ryzom.com" +}; +PatchletUrl = "http://app.ryzom.com/app_patchlet/index.php?patch=preload"; + +SelectedSlot = 0; + +BuildName = "RELEASE_HEAD"; diff --git a/dist/debian/utopic/debian/compat b/dist/debian/utopic/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/dist/debian/utopic/debian/compat @@ -0,0 +1 @@ +9 diff --git a/dist/debian/utopic/debian/control b/dist/debian/utopic/debian/control new file mode 100644 index 000000000..e662d1f37 --- /dev/null +++ b/dist/debian/utopic/debian/control @@ -0,0 +1,212 @@ +Source: ryzom-core +Priority: extra +Maintainer: Debian Games Team +Uploaders: Luboš Novák , Cédric OCHS +Build-Depends: debhelper (>= 9), cmake(>= 2.6), libxml2-dev, + libgl1-mesa-dev, libjpeg8-dev | libjpeg62-dev, libpng12-dev, libopenal-dev, + libfreetype6-dev, libxxf86vm-dev, libxrandr-dev, libxrender-dev, + libvorbis-dev, libsquish-dev, libcurl4-openssl-dev, libluabind-dev, + libboost-dev, libwww-dev, libmysqlclient-dev, + libcpptest-dev, libqt4-dev, libqt4-opengl-dev +Standards-Version: 3.9.5 +Section: games +Bugs: http://dev.ryzom.com/projects/ryzom/issues +Homepage: http://dev.ryzom.com +Vcs-Svn: svn://svn.debian.org/svn/pkg-games/packages/trunk/nel/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-games/packages/trunk/nel/?op=log + +Package: libnel0 +Section: libdevel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Massive multi-user 3D game environments library (shared library) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the shared library. + +Package: libnel-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (development files) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the headers. + +Package: libnel0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the debugging symbols. + +Package: nel-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools. + +Package: nel-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, nel-tools (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools debugging symbols. + +Package: libryzom-sevenzip0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Ryzom science-fantasy MMORPG (decompression library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library. + +Package: libryzom-sevenzip0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-sevenzip0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (decompression library debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library debugging symbols. + +Package: libryzom-gameshare0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common shared library. + +Package: libryzom-gameshare0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common debugging symbols. + +Package: libryzom-clientsheets0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets shared library. + +Package: libryzom-clientsheets0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets debugging symbols. + +Package: ryzom-client +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}), + ryzom-client-config (>= ${source:Version}), rsync, wget, p7zip-full +Description: Ryzom science-fantasy MMORPG (client) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game client. + +Package: ryzom-client-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-client (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client debugging symbols. + +Package: ryzom-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools. + +Package: ryzom-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-tools (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools debugging symbols. + +Package: ryzom-client-config +Architecture: all +Depends: ${misc:Depends} +Description: Ryzom science-fantasy MMORPG (client configuration) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client configuration. diff --git a/dist/debian/utopic/debian/copyright b/dist/debian/utopic/debian/copyright new file mode 100644 index 000000000..d5a0f2f10 --- /dev/null +++ b/dist/debian/utopic/debian/copyright @@ -0,0 +1,53 @@ +This package was debianized by Gürkan Sengün on +Tue, 23 Oct 2007 12:56:45 +0200. + +It was downloaded from + +Upstream Authors: + + Olivier Cado + Bertram Felgenhauer + Krzysztof Kotlenga + Henri Kuuste + Vianney Lecroart + Namine + Cédric Ochs + Guillaume Puzin + Matt Raykowski + Robert Timm + Titegus + Ulukyn + Robert Wetzel + Zorglor + TODO: take names from Ryzom credits + +Copyright: + + Copyright (C) 2003-2009 Vianney Lecroart + Copyright (C) 2003-2009 Matt Raykowski + Copyright (C) 2000-2006 Nevrax Ltd. + Copyright (C) 2006-2007 Gameforge France + Copyright (C) 2008-2010 Winch Gate Property Limited + +License: + + 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 . + +The Debian packaging is: + + Copyright (C) 2007 Gürkan Sengün + +and is licensed under the GPL version 2, +see `/usr/share/common-licenses/GPL-2'. + diff --git a/dist/debian/utopic/debian/docs b/dist/debian/utopic/debian/docs new file mode 100644 index 000000000..58e5e3e76 --- /dev/null +++ b/dist/debian/utopic/debian/docs @@ -0,0 +1,2 @@ +changelog +README diff --git a/dist/debian/utopic/debian/libnel-dev.docs b/dist/debian/utopic/debian/libnel-dev.docs new file mode 100644 index 000000000..ba8894c15 --- /dev/null +++ b/dist/debian/utopic/debian/libnel-dev.docs @@ -0,0 +1,2 @@ +README + diff --git a/dist/debian/utopic/debian/libnel-dev.install b/dist/debian/utopic/debian/libnel-dev.install new file mode 100644 index 000000000..9f9310cee --- /dev/null +++ b/dist/debian/utopic/debian/libnel-dev.install @@ -0,0 +1,3 @@ +usr/include/* +usr/lib/*/libnel*.so +usr/lib/*/pkgconfig/* diff --git a/dist/debian/utopic/debian/libnel-dev.manpages b/dist/debian/utopic/debian/libnel-dev.manpages new file mode 100644 index 000000000..bb4027ca9 --- /dev/null +++ b/dist/debian/utopic/debian/libnel-dev.manpages @@ -0,0 +1 @@ +debian/nel-config.1 diff --git a/dist/debian/utopic/debian/libnel-doc.doc-base.nel b/dist/debian/utopic/debian/libnel-doc.doc-base.nel new file mode 100644 index 000000000..6ae95fc9f --- /dev/null +++ b/dist/debian/utopic/debian/libnel-doc.doc-base.nel @@ -0,0 +1,9 @@ +Document: nel +Title: NeL Reference Manual +Author: Nevrax +Abstract: This is a software platform for creating and running massively multi-user entertainment in a 3D environment over the Internet. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libnel-doc/html/index.html +Files: /usr/share/doc/libnel-doc/html/*.html diff --git a/dist/debian/utopic/debian/libnel-doc.install b/dist/debian/utopic/debian/libnel-doc.install new file mode 100644 index 000000000..bf3f02a61 --- /dev/null +++ b/dist/debian/utopic/debian/libnel-doc.install @@ -0,0 +1 @@ +usr/share/doc/libnel-doc/html/* diff --git a/dist/debian/utopic/debian/libnel0.install b/dist/debian/utopic/debian/libnel0.install new file mode 100644 index 000000000..4273c0ad1 --- /dev/null +++ b/dist/debian/utopic/debian/libnel0.install @@ -0,0 +1,3 @@ +usr/lib/*/libnel*.so.* +usr/lib/*/nel/libnel_drv_openal.so +usr/lib/*/nel/libnel_drv_opengl.so diff --git a/dist/debian/utopic/debian/libryzom-clientsheets0.install b/dist/debian/utopic/debian/libryzom-clientsheets0.install new file mode 100644 index 000000000..b5ea5b79c --- /dev/null +++ b/dist/debian/utopic/debian/libryzom-clientsheets0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_clientsheets.so.* + diff --git a/dist/debian/utopic/debian/libryzom-gameshare0.install b/dist/debian/utopic/debian/libryzom-gameshare0.install new file mode 100644 index 000000000..2f51b0804 --- /dev/null +++ b/dist/debian/utopic/debian/libryzom-gameshare0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_gameshare.so.* + diff --git a/dist/debian/utopic/debian/libryzom-sevenzip0.install b/dist/debian/utopic/debian/libryzom-sevenzip0.install new file mode 100644 index 000000000..1edced3f8 --- /dev/null +++ b/dist/debian/utopic/debian/libryzom-sevenzip0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_sevenzip.so.* + diff --git a/dist/debian/utopic/debian/nel-config.1 b/dist/debian/utopic/debian/nel-config.1 new file mode 100644 index 000000000..be47bf496 --- /dev/null +++ b/dist/debian/utopic/debian/nel-config.1 @@ -0,0 +1,37 @@ +.TH nel-config 1 "26 Oct 2007" +.SH NAME +nel-config \- Get information about a libnel installation +.SH SYNOPSIS +.B nel-config [options] +.SH DESCRIPTION +.B nel-config +displays information about a libnel installation. +.SH OPTIONS +.IP "--cflags" +Set of compiler options (CFLAGS) to use when compiling files that use +libnel. Currently that is only thw include path to the nel include files. +.IP "--libs" +Shows the complete set of libs and other linker options you will need in order +to link your application with libnel. +.IP "--prefix" +This is the prefix used when libnel was installed. libnel is then installed +in $prefix/lib and its header files are installed in $prefix/include and so +on. The prefix is set with "configure \-\-prefix". +.IP "--version" +Outputs version information about the installed libnel. +.SH "EXAMPLES" +What linker options do I need when I link with libnel? + + $ nel-config \-\-libs + +What compiler options do I need when I compile using libnel functions? + + $ nel-config \-\-cflags + +What's the installed libnel version? + + $ nel-config \-\-version +.SH AUTHOR +.PP +This manual page was written by G\[:u]rkan Seng\[:u]n +,for the Debian project (but may be used by others). diff --git a/dist/debian/utopic/debian/nel-tools.install b/dist/debian/utopic/debian/nel-tools.install new file mode 100644 index 000000000..4ca03208c --- /dev/null +++ b/dist/debian/utopic/debian/nel-tools.install @@ -0,0 +1,87 @@ +etc/nel/build_ig_boxes.cfg +etc/nel/build_indoor_rbank.cfg +etc/nel/build_rbank.cfg +etc/nel/make_sheet_id.cfg +etc/nel/words_dic.cfg +etc/nel/zviewer.cfg +usr/bin/animation_set_builder +usr/bin/anim_builder +usr/bin/bnp_make +usr/bin/build_clod_bank +usr/bin/build_clodtex +usr/bin/build_coarse_mesh +usr/bin/build_far_bank +usr/bin/build_ig_boxes +usr/bin/build_indoor_rbank +usr/bin/build_interface +usr/bin/build_rbank +usr/bin/build_samplebank +usr/bin/build_shadow_skin +usr/bin/build_smallbank +usr/bin/build_sound +usr/bin/build_soundbank +usr/bin/cluster_viewer +usr/bin/disp_sheet_id +usr/bin/extract_filename +usr/bin/file_info +usr/bin/georges2csv +usr/bin/get_neighbors +usr/bin/hls_bank_maker +usr/bin/ig_add +usr/bin/ig_info +usr/bin/ig_lighter +usr/bin/lock +usr/bin/make_sheet_id +usr/bin/memlog +usr/bin/message_box_qt +usr/bin/nl_probe_timers +usr/bin/nl_sample_chatclient +usr/bin/nl_sample_chatserver +usr/bin/nl_sample_clusterview +usr/bin/nl_sample_command +usr/bin/nl_sample_configfile +usr/bin/nl_sample_ct_ai_service +usr/bin/nl_sample_ct_gd_service +usr/bin/nl_sample_debug +usr/bin/nl_sample_font +usr/bin/nl_sample_georges +usr/bin/nl_sample_i18n +usr/bin/nl_sample_log +usr/bin/nl_sample_ls_client +usr/bin/nl_sample_ls_fes +usr/bin/nl_sample_pacs +usr/bin/nl_sample_shapeview +usr/bin/nl_sample_sound_sources +usr/bin/nl_sample_stream_file +usr/bin/nl_sample_stream_ogg_vorbis +usr/bin/nl_sample_strings +usr/bin/nl_sample_udpclient +usr/bin/nl_sample_udpserver +usr/bin/panoply_maker +usr/bin/shapes_exporter +usr/bin/tga2dds +usr/bin/tga_cut +usr/bin/tga_resize +usr/bin/tile_edit_qt +usr/bin/words_dic_qt +usr/bin/xml_packer +usr/bin/zone_check_bind +usr/bin/zone_dependencies +usr/bin/zone_dump +usr/bin/zone_ig_lighter +usr/bin/zone_lighter +usr/bin/zone_welder +usr/bin/zviewer +usr/lib/*/libs3tc_compressor.so.* +usr/share/nel/nl_sample_chat +usr/share/nel/nl_sample_class_transport +usr/share/nel/nl_sample_clusterview +usr/share/nel/nl_sample_configfile +usr/share/nel/nl_sample_font +usr/share/nel/nl_sample_georges +usr/share/nel/nl_sample_i18n +usr/share/nel/nl_sample_login_system +usr/share/nel/nl_sample_pacs +usr/share/nel/nl_sample_sound +usr/share/nel/nl_sample_udp +usr/share/nel/zviewer diff --git a/dist/debian/utopic/debian/rules b/dist/debian/utopic/debian/rules new file mode 100755 index 000000000..2b329f3be --- /dev/null +++ b/dist/debian/utopic/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f +%: + dh $@ --buildsystem=cmake --parallel + +override_dh_strip: + dh_strip -plibnel0 --dbg-package=libnel0-dbg + dh_strip -pnel-tools --dbg-package=nel-tools-dbg + dh_strip -plibryzom-sevenzip0 --dbg-package=libryzom-sevenzip0-dbg + dh_strip -plibryzom-gameshare0 --dbg-package=libryzom-gameshare0-dbg + dh_strip -plibryzom-clientsheets0 --dbg-package=libryzom-clientsheets0-dbg + dh_strip -pryzom-client --dbg-package=ryzom-client-dbg + dh_strip -pryzom-tools --dbg-package=ryzom-tools-dbg + +override_dh_auto_configure: + dh_auto_configure -- -DLIBRARY_ARCHITECTURE=$(DEB_HOST_MULTIARCH) -DTARGET_CPU=$(DEB_HOST_GNU_CPU) -DWITH_SYMBOLS=ON -DNL_ETC_PREFIX=/etc/nel -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/games/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/games -DWITH_RYZOM_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_LIBWWW_STATIC=ON -DWITH_QT=ON + +override_dh_install: + dh_install + install -m755 debian/ryzom debian/ryzom-client/usr/games/ryzom diff --git a/dist/debian/utopic/debian/ryzom b/dist/debian/utopic/debian/ryzom new file mode 100755 index 000000000..79923e9e9 --- /dev/null +++ b/dist/debian/utopic/debian/ryzom @@ -0,0 +1,116 @@ +#!/bin/sh + +P7ZIP=/usr/bin/7z +RSYNC=/usr/bin/rsync +WGET=/usr/bin/wget +RYZOM_CLIENT=/usr/games/ryzom_client +RYZOM_CONFIG_DEFAULT=/etc/ryzom/client_default.cfg +RYZOM_CONFIG=~/.ryzom/client.cfg + +RYZOM_DIR=~/.ryzom +DATA_DIR=$RYZOM_DIR/data + +mkdir -p $RYZOM_DIR + +if [ ! -d "$DATA_DIR" ] +then + # symlink user's data dir to ryzom data cache + ln -s /var/cache/ryzom/data $DATA_DIR +fi + +# Check if a directory contains Ryzom data +ryzom_data_found() +{ + # Check for directory, gamedev.bnp and ryzom.ttf + COUNT=0 + + if [ -d $1 ] + then + # If there are a least 220 bnp files, we could use this directory + # There are 226 bnp files in last version + COUNT=$(find -L $1 -name *.bnp | wc -l) + fi + + echo $COUNT +} + +COUNT=$(ryzom_data_found $DATA_DIR) + +echo "Found $COUNT BNP files in $DATA_DIR" + +if [ $COUNT -lt 220 ] && [ -f $WGET ] && [ -f $P7ZIP ] +then + mkdir -p "$DATA_DIR/tmp" + + # Check free diskspace + echo "Checking for free disk space..." + DISKSPACE=$(df "$DATA_DIR/tmp" | grep "/dev" | awk '{print $4}') + if [ $? -ne 0 ] + then + exit 1 + fi + if [ "$DISKSPACE" -lt "8000000" ] + then + echo "You don't have enough free space to download and uncompress Ryzom client data." + exit 1 + fi + + # Download + echo "Downloading ryzom_client.7z from sourceforge..." + # wget + $WGET -c http://sourceforge.net/projects/ryzom/files/ryzom_client.7z -O "$DATA_DIR/tmp/ryzom_client.7z" + if [ $? -ne 0 ] + then + exit 1 + fi + + # Extract data + echo "Extracting data from ryzom_client.7z..." + cd "$DATA_DIR/tmp" + # 7z + $P7ZIP x ryzom_client.7z + if [ $? -ne 0 ] + then + exit 1 + fi + cd .. + mv -uf tmp/ryzom/data/* . + # Delete temporary downloaded files + rm -rf tmp +fi + +if [ -f $RYZOM_CONFIG ] +then + echo "Updating $RYZOM_CONFIG..." + + # Escape path for sed using bash find and replace + RYZOM_CONFIG_DEFAULT_ESCAPED=$(echo $RYZOM_CONFIG_DEFAULT | sed 's/\//\\\//g') + + # Update RootConfigFilename to be sure it's using the right default config + sed -i 's/RootConfigFilename.*/RootConfigFilename = \"'$RYZOM_CONFIG_DEFAULT_ESCAPED'\"/g' $RYZOM_CONFIG +fi + +if [ -f $RSYNC ] +then + echo "Patching Ryzom data..." + + # Rsync + $RSYNC -rOtzv --progress --stats www.ryzom.com::ryzom/data/ $DATA_DIR + if [ $? -ne 0 ] + then + exit 1 + fi +fi + +# Launch Ryzom client if it exists +if [ -f $RYZOM_CLIENT ] +then + echo "Launching Ryzom..." + + nohup $RYZOM_CLIENT $1 $2 $3 2> /dev/null & +fi + +# Wait until all previous commands are executed and displayed before exiting +sync + +exit 0 diff --git a/dist/debian/utopic/debian/ryzom-client-config.install b/dist/debian/utopic/debian/ryzom-client-config.install new file mode 100644 index 000000000..bef3f53dd --- /dev/null +++ b/dist/debian/utopic/debian/ryzom-client-config.install @@ -0,0 +1 @@ +debian/client_default.cfg etc/ryzom diff --git a/dist/debian/utopic/debian/ryzom-client.dirs b/dist/debian/utopic/debian/ryzom-client.dirs new file mode 100644 index 000000000..d1571095c --- /dev/null +++ b/dist/debian/utopic/debian/ryzom-client.dirs @@ -0,0 +1,4 @@ +usr/games +usr/share/applications +usr/share/pixmaps +var/cache/ryzom/data diff --git a/dist/debian/utopic/debian/ryzom-client.install b/dist/debian/utopic/debian/ryzom-client.install new file mode 100644 index 000000000..be142a6be --- /dev/null +++ b/dist/debian/utopic/debian/ryzom-client.install @@ -0,0 +1,4 @@ +usr/games/ryzom_client +usr/share/icons +usr/share/pixmaps +debian/ryzom_client.desktop usr/share/applications diff --git a/dist/debian/utopic/debian/ryzom-client.menu b/dist/debian/utopic/debian/ryzom-client.menu new file mode 100644 index 000000000..5e15bf577 --- /dev/null +++ b/dist/debian/utopic/debian/ryzom-client.menu @@ -0,0 +1,6 @@ +?package(ryzom-client): \ + needs="x11" \ + section="Games/Adventure" \ + icon="/usr/share/pixmaps/ryzom.xpm" \ + title="Ryzom" \ + command="/usr/games/ryzom" diff --git a/dist/debian/utopic/debian/ryzom-client.postinst b/dist/debian/utopic/debian/ryzom-client.postinst new file mode 100644 index 000000000..51570a3dc --- /dev/null +++ b/dist/debian/utopic/debian/ryzom-client.postinst @@ -0,0 +1,10 @@ +#!/bin/sh + +if ! getent group ryzom ; then + addgroup --system ryzom +fi + +chgrp -R ryzom /var/cache/ryzom/data +chmod -R g+wrxs /var/cache/ryzom/data + +#DEBHELPER# diff --git a/dist/debian/utopic/debian/ryzom-client.postrm b/dist/debian/utopic/debian/ryzom-client.postrm new file mode 100644 index 000000000..828871eb4 --- /dev/null +++ b/dist/debian/utopic/debian/ryzom-client.postrm @@ -0,0 +1,49 @@ +#! /bin/sh +# postrm script for ryzom-client +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see /usr/share/doc/packaging-manual/ + +case "$1" in + purge) + + FILES=/home/* + + for f in $FILES + do + FOLDER="$f/.ryzom/data" + + if [ -d $FOLDER ] + then + rm -rf $FOLDER + echo "Deleting $FOLDER..." + fi + done + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +#DEBHELPER# + +exit 0 diff --git a/dist/debian/utopic/debian/ryzom-tools.install b/dist/debian/utopic/debian/ryzom-tools.install new file mode 100644 index 000000000..c468e32d8 --- /dev/null +++ b/dist/debian/utopic/debian/ryzom-tools.install @@ -0,0 +1,26 @@ +usr/bin/7zDec +usr/bin/alias_synchronizer +usr/bin/assoc_mem +usr/bin/csv_transform +usr/bin/georges_editor_qt +usr/bin/icon_search +usr/bin/make_alias_file +usr/bin/make_anim_by_race +usr/bin/make_anim_melee_impact +usr/bin/mp_generator +usr/bin/named2csv +usr/bin/patch_gen +usr/bin/patch_gen_service +usr/bin/pd_parser +usr/bin/pdr_util +usr/bin/prim_export +usr/bin/ryzom_mission_compiler +usr/bin/sheets_packer +usr/bin/skill_extractor +usr/bin/stats_scan +usr/bin/translation_tools +usr/bin/uni_conv +usr/games/ryzom_client_patcher +usr/lib/*/libryzom_mission_compiler_lib.so.* +usr/share/games/ryzom/data_leveldesign +usr/share/games/ryzom/georges_editor_qt diff --git a/dist/debian/utopic/debian/ryzom_client.desktop b/dist/debian/utopic/debian/ryzom_client.desktop new file mode 100644 index 000000000..1c62d1b6a --- /dev/null +++ b/dist/debian/utopic/debian/ryzom_client.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Name=Ryzom +Name[ru]=Ризом +Type=Application +GenericName=ryzom_client +Exec=/usr/games/ryzom +Icon=ryzom_client +Terminal=true +Hidden=false +Categories=Game;RolePlaying; diff --git a/dist/debian/utopic/debian/source/format b/dist/debian/utopic/debian/source/format new file mode 100644 index 000000000..b9b023757 --- /dev/null +++ b/dist/debian/utopic/debian/source/format @@ -0,0 +1,2 @@ +1.0 + diff --git a/dist/debian/vivid/debian/changelog b/dist/debian/vivid/debian/changelog new file mode 100644 index 000000000..44f3e244e --- /dev/null +++ b/dist/debian/vivid/debian/changelog @@ -0,0 +1,408 @@ +ryzom-core (0.8.2802~raring1) raring; urgency=low + + * New upstream release (revision 2802) + + -- Cédric OCHS Mon, 10 Dec 2012 11:12:17 +0100 + +ryzom-core (0.8.2786~raring1) raring; urgency=low + + * New upstream release (revision 2786) + + -- Cédric OCHS Fri, 07 Dec 2012 16:33:15 +0100 + +ryzom-core (0.8.2691~quantal1) quantal; urgency=low + + * New upstream release (revision 2691) + + -- Cédric OCHS Sun, 07 Oct 2012 09:46:56 +0200 + +ryzom-core (0.8.2682~quantal1) quantal; urgency=low + + * New upstream release (revision 2682) + + -- Cédric OCHS Wed, 03 Oct 2012 15:59:54 +0200 + +ryzom-core (0.8.2681~quantal2) quantal; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 17:42:23 +0200 + +ryzom-core (0.8.2681~quantal1) quantal; urgency=low + + * New upstream release (revision 2681) + + -- Cédric OCHS Tue, 02 Oct 2012 17:13:57 +0200 + +ryzom-core (0.8.2650~quantal2) quantal; urgency=low + + * New upstream release (revision 2650) + + -- Cédric OCHS Mon, 24 Sep 2012 22:06:37 +0200 + +ryzom-core (0.8.2650~quantal1) quantal; urgency=low + + * New upstream release (revision 2650) + + -- Cédric OCHS Mon, 24 Sep 2012 20:55:19 +0200 + +ryzom-core (0.8.2025~precise1) precise; urgency=low + + * New upstream release (revision 2025) + + -- Cédric OCHS Sat, 10 Mar 2012 22:23:49 +0100 + +ryzom-core (0.8.2024~precise1) precise; urgency=low + + * New upstream release (revision 2024) + + -- Cédric OCHS Sat, 10 Mar 2012 11:16:08 +0100 + +ryzom-core (0.8.1847~natty1) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Mon, 17 Oct 2011 09:33:45 +0200 + +ryzom-core (0.8.1847~natty0) natty; urgency=low + + * New upstream release (revision 1847) + + -- Cédric OCHS Sun, 16 Oct 2011 18:45:27 +0200 + +ryzom-core (0.8.1758~natty0) natty; urgency=low + + * New upstream release (revision 1758) + + -- Cédric OCHS Tue, 16 Aug 2011 09:02:55 +0200 + +ryzom-core (0.8.1752~natty0) natty; urgency=low + + * New upstream release (revision 1752) + + -- Cédric OCHS Sun, 14 Aug 2011 16:07:29 +0200 + +ryzom-core (0.8.1751~natty0) natty; urgency=low + + * New upstream release (revision 1751) + + -- Cédric OCHS Sun, 14 Aug 2011 14:16:24 +0200 + +ryzom-core (0.8.1750~natty0) natty; urgency=low + + * New upstream release (revision 1750) + + -- Cédric OCHS Sun, 14 Aug 2011 12:30:18 +0200 + +ryzom-core (0.8.1744~natty0) natty; urgency=low + + * New upstream release (revision 1744) + + -- Cédric OCHS Sat, 13 Aug 2011 20:24:49 +0200 + +ryzom-core (0.8.1742~natty0) natty; urgency=low + + * New upstream release (revision 1742) + + -- Cédric OCHS Fri, 12 Aug 2011 18:11:07 +0200 + +ryzom-core (0.8.1628~natty0) natty; urgency=low + + * New upstream release (revision 1628) + + -- Cédric OCHS Fri, 17 Jun 2011 12:56:17 +0200 + +ryzom-core (0.8.1627~natty0) natty; urgency=low + + * New upstream release (revision 1627) + + -- Cédric OCHS Tue, 14 Jun 2011 20:37:05 +0200 + +ryzom-core (0.8.1611~natty0) natty; urgency=low + + * New upstream release (revision 1611) + + -- Cédric OCHS Wed, 08 Jun 2011 19:53:44 +0200 + +ryzom-core (0.8.1596~natty1) natty; urgency=low + + * New upstream release (revision 1596) + + -- Cédric OCHS Sat, 04 Jun 2011 18:11:45 +0200 + +ryzom-core (0.7.1406~natty0) natty; urgency=low + + * New upstream release (revision 1406) + + -- Kervala Sun, 13 Mar 2011 19:07:44 +0100 + +ryzom-core (0.7.1404~karmic0) karmic; urgency=low + + * New upstream release (revision 1404) + + -- Kervala Thu, 10 Mar 2011 20:13:35 +0100 + +ryzom-core (0.7.1122~karmic0) karmic; urgency=low + + * New upstream release (revision 1122) + + -- Kervala Thu, 25 Nov 2010 13:18:41 +0100 + +ryzom-core (0.7.992~karmic0) karmic; urgency=low + + * New upstream release (revision 992) + + -- Kervala Tue, 19 Oct 2010 13:44:23 +0200 + +ryzom-core (0.7.941~karmic0) karmic; urgency=low + + * New upstream release (revision 941) + + -- Kervala Sat, 16 Oct 2010 14:59:36 +0200 + +ryzom-core (0.7.933~karmic0) karmic; urgency=low + + * New upstream release (revision 933) + + -- Kervala Fri, 15 Oct 2010 22:29:44 +0200 + +ryzom-core (0.7.932~karmic0) karmic; urgency=low + + * New upstream release (revision 932) + + -- Kervala Fri, 15 Oct 2010 19:53:47 +0200 + +ryzom-core (0.7.666~karmic0) karmic; urgency=low + + * New upstream release (revision 666) + + -- Kervala Sun, 29 Aug 2010 17:56:06 +0200 + +ryzom-core (0.7.631~karmic0) karmic; urgency=low + + * New upstream release (revision 631) + + -- Kervala Thu, 12 Aug 2010 16:57:30 +0200 + +ryzom-core (0.7.614~lucid1) lucid; urgency=low + + * Fixed dependencies + + -- Kervala Sun, 08 Aug 2010 22:42:50 +0200 + +ryzom-core (0.7.614~lucid0) lucid; urgency=low + + * New upstream release (revision 614) + + -- Kervala Sun, 08 Aug 2010 21:53:00 +0200 + +ryzom-core (0.7.583~lucid1) lucid; urgency=low + + * Added dependency on libogg and libvorbis + + -- Kervala Sun, 01 Aug 2010 15:38:40 +0200 + +ryzom-core (0.7.583~lucid0) lucid; urgency=low + + * New upstream release (revision 583) + + -- Kervala Sun, 01 Aug 2010 14:43:28 +0200 + +ryzom-core (0.7.530~lucid0) lucid; urgency=low + + * New upstream release (revision 530) + + -- Kervala Sun, 25 Jul 2010 16:50:57 +0200 + +ryzom-core (0.7.519~lucid0) lucid; urgency=low + + * New upstream release (revision 519) + + -- Kervala Mon, 19 Jul 2010 22:24:05 +0200 + +ryzom-core (0.7.507~lucid0) lucid; urgency=low + + * New upstream release (revision 507) + + -- Kervala Sat, 17 Jul 2010 19:56:35 +0200 + +ryzom-core (0.7.474~lucid0) lucid; urgency=low + + * New upstream release (revision 474) + + -- Kervala Tue, 13 Jul 2010 08:56:24 +0200 + +ryzom-core (0.7.473~lucid1) lucid; urgency=low + + * Some fixes + + -- Kervala Mon, 12 Jul 2010 22:46:16 +0200 + +ryzom-core (0.7.473~lucid0) lucid; urgency=low + + * New upstream release (revision 473) + + -- Kervala Mon, 12 Jul 2010 22:04:30 +0200 + +ryzom-core (0.7.437~lucid1) lucid; urgency=low + + * Fixed drivers installation + + -- Kervala Thu, 08 Jul 2010 08:54:02 +0200 + +ryzom-core (0.7.437~lucid0) lucid; urgency=low + + * New upstream release (revision 437) + + -- Kervala Thu, 01 Jul 2010 20:07:14 +0200 + +ryzom-core (0.7.419~lucid0) lucid; urgency=low + + * New upstream release (revision 419) + + -- Kervala Sat, 26 Jun 2010 18:58:36 +0200 + +ryzom-core (0.7.411~lucid0) lucid; urgency=low + + * New upstream release (revision 411) + + -- Kervala Sat, 26 Jun 2010 11:00:47 +0200 + +ryzom-core (0.7.404~lucid1) lucid; urgency=low + + * Fix OpenAL driver + + -- Kervala Thu, 24 Jun 2010 23:06:51 +0200 + +ryzom-core (0.7.404~lucid0) lucid; urgency=low + + * New upstream release (revision 404) + + -- Kervala Thu, 24 Jun 2010 22:17:36 +0200 + +ryzom-core (0.7.394~lucid0) lucid; urgency=low + + * New upstream release (revision 394) + + -- Kervala Tue, 22 Jun 2010 06:53:15 +0200 + +ryzom-core (0.7.375~lucid0) lucid; urgency=low + + * New upstream release (revision 375) + + -- Kervala Wed, 16 Jun 2010 12:46:51 +0200 + +ryzom-core (0.7.371~lucid0) lucid; urgency=low + + * New upstream release (revision 371) + + -- Kervala Mon, 14 Jun 2010 22:48:27 +0200 + +ryzom-core (0.7.359~lucid0) lucid; urgency=low + + * New upstream release (revision 359) + + -- Kervala Sun, 13 Jun 2010 21:31:29 +0200 + +ryzom-core (0.7.350~lucid1) lucid; urgency=low + + * Fixes problem with "copy" files + + -- Kervala Sun, 13 Jun 2010 10:36:30 +0200 + +ryzom-core (0.7.350~lucid0) lucid; urgency=low + + * New upstream release (revision 350) + + -- Kervala Sun, 13 Jun 2010 09:55:38 +0200 + +ryzom-core (0.7.332~lucid0) lucid; urgency=low + + * New upstream release (revision 332) + + -- Kervala Sat, 12 Jun 2010 09:09:21 +0200 + +ryzom-core (0.7.317~lucid0) lucid; urgency=low + + * New upstream release (revision 317) + + -- Kervala Thu, 10 Jun 2010 13:11:28 +0200 + +ryzom-core (0.7.315~lucid0) lucid; urgency=low + + * Fixed pkg-config installation again + + -- Kervala Thu, 10 Jun 2010 08:19:44 +0200 + +ryzom-core (0.7.311~lucid2) lucid; urgency=low + + * Fixed pkg-config files + + -- Kervala Wed, 09 Jun 2010 22:58:15 +0200 + +ryzom-core (0.7.311~lucid1) lucid; urgency=low + + * Fixed dependencies versions + + -- Kervala Wed, 09 Jun 2010 22:27:00 +0200 + +ryzom-core (0.7.311~lucid0) lucid; urgency=low + + * New upstream version (revision 311). + + -- Kervala Wed, 09 Jun 2010 21:15:42 +0200 + +ryzom-core (0.7.304~lucid0) lucid; urgency=low + + * New upstream version (revision 304). + + -- Kervala Wed, 09 Jun 2010 08:34:10 +0200 + +ryzom-core (0.7.0-1) unstable; urgency=low + + [ Gürkan Sengün ] + * New upstream version. (Closes: #553248) + * Updated build dependencies. + + [ Michal Čihař ] + * Convert to dh with cmake support. + * Bump standards to 3.8.4. + + [ Luboš Novák ] + * Change maintainer to 'Debian Games Team' + * ftbfs_gcc_4.5.path: Fix build with g++-4.5. (Closes: #565104) + * Converted direct changes in source to patches. + * Enable building CEGUI renderer. + * Add package libnel-doc with documentation. + * debian/control + + Changed priority of libnel-dbg to extra. + + Remove duplicate Section in libnel0. + + Update short descriptions. + + Replace obsolete package xlibmesa-gl-dev with libgl1-mesa-dev + in build-depends. + + Add libpng-dev to build-depends. + + Remove libalut-dev from build-depends. + + New homepage. + + Supported architectures are i386 and amd64. + * debian/libnel-dev.dirs + + Remove empty dir usr/lib/nel. + * debian/copyright + + Update redistribution licence from GPL to GPL-2. + * debian/rules + + Disable building unit test, samples and tools. + + -- Luboš Novák Tue, 30 Mar 2010 10:29:23 +0100 + +ryzom-core (0.5.0-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Change Build-Depends: libstlport5.2-dev. (Closes: #521762) + + -- Torsten Werner Sun, 28 Jun 2009 11:54:05 +0200 + +ryzom-core (0.5.0-1) unstable; urgency=low + + * Initial release. (Closes: #448067) + + -- Gürkan Sengün Tue, 23 Oct 2007 12:56:45 +0200 + diff --git a/dist/debian/vivid/debian/client_default.cfg b/dist/debian/vivid/debian/client_default.cfg new file mode 100644 index 000000000..d09cbbb9c --- /dev/null +++ b/dist/debian/vivid/debian/client_default.cfg @@ -0,0 +1,567 @@ +////////////////////////// +////////////////////////// +/// CLIENT CONFIG FILE /// +////////////////////////// +////////////////////////// + + +// If you set this variable to 1, your client.cfg will be overwritten when you quit the client. +// You will loose all the comments and identation in this file. +SaveConfig = 1; + +/////////////////// +// WINDOW CONFIG // +/////////////////// + +Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2" + // "Auto" will choose the best suited driver depending on hardware +FullScreen = 0; +Width = 1024; +Height = 768; +PositionX = 0; +PositionY = 0; +Frequency = 60; +Depth = 32; +Sleep = -1; +ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time +Contrast = 0.0; // -1.0 ~ 1.0 +Luminosity = 0.0; // -1.0 ~ 1.0 +Gamma = 0.0; // -1.0 ~ 1.0 +Contrast_min = -1.0; +Luminosity_min = -1.0; +Gamma_min = -1.0; +Contrast_max = 1.0; +Luminosity_max = 1.0; +Gamma_max = 1.0; + + +///////////// +// NETWORK // +///////////// + +Application = { "ryzom_live", "./client_ryzom_r.exe", "./" }; +BackgroundDownloader = 0; +PatchServer = "http://dl.ryzom.com/patch_live"; +SignUpURL = "http://www.ryzom.com/subscribe"; +StartupHost = "shard.ryzom.com:40916"; +StartupPage = "/login/r2_login.php"; +InstallStatsUrl = "http://shard.ryzom.com:50000/stats/stats.php"; +CreateAccountURL = "https://secure.ryzom.com/signup/from_client.php"; +InstallWebPage = "http://dl.ryzom.com/installer/"; + + +//////////////// +// INTERFACES // +//////////////// + +// the language to use as in ISO 639-2 +LanguageCode = "en"; // english + +XMLInputFile = "input_config_v3.xml"; + +XMLLoginInterfaceFiles = { + "login_config.xml", + "login_widgets.xml", + "login_main.xml", + "login_keys.xml", +}; + +XMLOutGameInterfaceFiles = { + "out_v2_config.xml", + "out_v2_widgets.xml", + "out_v2_connect.xml", + "out_v2_intro.xml", + "out_v2_select.xml", + "out_v2_appear.xml", + "out_v2_location.xml", + "out_v2_crash.xml", + "out_v2_hierarchy.xml", + "out_v2_keys.xml", +}; + +// The ligo primitive class file +LigoPrimitiveClass = "world_editor_classes.xml"; + +VerboseLog = 1; + +/////////// +// MOUSE // +/////////// +HardwareCursor = 1; + +CursorSpeed = 1.0; // In pixels per mickey +CursorSpeed_min = 0.5; +CursorSpeed_max = 2.0; + +CursorAcceleration = 40; // Threshold in mickey +CursorAcceleration_min = 20; +CursorAcceleration_max = 80; + +FreeLookSpeed = 0.004; // In radian per mickey +FreeLookSpeed_min = 0.0001; +FreeLookSpeed_max = 0.01; + +FreeLookAcceleration = 40; // Threshold in mickey +FreeLookAcceleration_min = 20; +FreeLookAcceleration_max = 80; + +FreeLookInverted = 0; +AutomaticCamera = 0; +DblClickMode = 1; +AutoEquipTool = 1; + +/////////////////// +// RENDER CONFIG // +/////////////////// + +// NB: thoses variables configure also the InGameConfigurator: +// _min and _max define the bounds +// _step defines the step (NB: take care of _min and _max!!) +// _ps0 is the LOW preset, _ps1 is the MEDIUM preset, _ps2 is the NORMAL Preset, and _ps3 is the HIGH one + + +// *** LANDSCAPE +LandscapeTileNear = 150.000000; +LandscapeTileNear_min = 20.000000; +LandscapeTileNear_max = 250.000000; +LandscapeTileNear_step = 10.0; +LandscapeTileNear_ps0 = 20.0; +LandscapeTileNear_ps1 = 100.0; +LandscapeTileNear_ps2 = 150.0; +LandscapeTileNear_ps3 = 200.0; + +// NB: threshold is inverted ULandscape::setThreshold(), to be more intelligible +LandscapeThreshold = 2000.0; +LandscapeThreshold_min = 100.0; // Low quality => 0.01 threshold +LandscapeThreshold_max = 4000.0; // High quality => 0.0005 threshold +LandscapeThreshold_step = 100.0; +LandscapeThreshold_ps0 = 100.0; +LandscapeThreshold_ps1 = 1000.0; +LandscapeThreshold_ps2 = 2000.0; +LandscapeThreshold_ps3 = 3000.0; + +Vision = 500.000000; +Vision_min = 200.000000; +Vision_max = 800.000000; +Vision_step = 100.000000; +Vision_ps0 = 200.0; +Vision_ps1 = 400.0; +Vision_ps2 = 500.0; +Vision_ps3 = 800.0; + +MicroVeget = 1; // Enable/Disable MicroVeget. +MicroVeget_ps0 = 0; +MicroVeget_ps1 = 1; +MicroVeget_ps2 = 1; +MicroVeget_ps3 = 1; + +MicroVegetDensity = 80.0; +MicroVegetDensity_min = 10.0; +MicroVegetDensity_max = 100.0; +MicroVegetDensity_step = 10.0; +MicroVegetDensity_ps0 = 10.0; // not used since disabled! +MicroVegetDensity_ps1 = 30.0; +MicroVegetDensity_ps2 = 80.0; +MicroVegetDensity_ps3 = 100.0; + + +// *** FX +FxNbMaxPoly = 20000; +FxNbMaxPoly_min = 2000; +FxNbMaxPoly_max = 50000; +FxNbMaxPoly_step= 2000; +FxNbMaxPoly_ps0 = 2000; +FxNbMaxPoly_ps1 = 10000; +FxNbMaxPoly_ps2 = 20000; +FxNbMaxPoly_ps3 = 50000; + +Cloud = 1; +Cloud_ps0 = 0 ; +Cloud_ps1 = 1 ; +Cloud_ps2 = 1 ; +Cloud_ps3 = 1 ; + +CloudQuality = 160.0; +CloudQuality_min = 80.0; +CloudQuality_max = 320.0; +CloudQuality_step = 20.0; +CloudQuality_ps0 = 80.0; // not used since disabled! +CloudQuality_ps1 = 80.0; +CloudQuality_ps2 = 160.0; +CloudQuality_ps3 = 320.0; + +CloudUpdate = 1; +CloudUpdate_min = 1; +CloudUpdate_max = 8; +CloudUpdate_step= 1; +CloudUpdate_ps0 = 1; // not used since disabled! +CloudUpdate_ps1 = 1; +CloudUpdate_ps2 = 1; +CloudUpdate_ps3 = 3; + +Shadows = 1; +Shadows_ps0 = 0; +Shadows_ps1 = 1; +Shadows_ps2 = 1; +Shadows_ps3 = 1; + +Bloom = 0; +Bloom_ps0 = 0; +Bloom_ps1 = 1; +Bloom_ps2 = 1; +Bloom_ps3 = 1; + +SquareBloom = 1; +SquareBloom_ps0 = 0; +SquareBloom_ps1 = 1; +SquareBloom_ps2 = 1; +SquareBloom_ps3 = 1; + +DensityBloom = 255.0; +DensityBloom_min = 0.0; +DensityBloom_max = 255.0; +DensityBloom_step = 1.0; +DensityBloom_ps0 = 255.0; +DensityBloom_ps1 = 255.0; +DensityBloom_ps2 = 255.0; +DensityBloom_ps3 = 255.0; + + +// *** CHARACTERS +SkinNbMaxPoly = 100000; +SkinNbMaxPoly_min = 5000; +SkinNbMaxPoly_max = 250000; +SkinNbMaxPoly_step = 5000; +SkinNbMaxPoly_ps0 = 10000; +SkinNbMaxPoly_ps1 = 70000; +SkinNbMaxPoly_ps2 = 100000; +SkinNbMaxPoly_ps3 = 200000; + +NbMaxSkeletonNotCLod = 125; +NbMaxSkeletonNotCLod_min = 5; +NbMaxSkeletonNotCLod_max = 255; +NbMaxSkeletonNotCLod_step = 5; +NbMaxSkeletonNotCLod_ps0 = 10; +NbMaxSkeletonNotCLod_ps1 = 50; +NbMaxSkeletonNotCLod_ps2 = 125; +NbMaxSkeletonNotCLod_ps3 = 255; + +CharacterFarClip = 200.0; +CharacterFarClip_min = 50.0; +CharacterFarClip_max = 500.0; +CharacterFarClip_step = 10.0; +CharacterFarClip_ps0 = 50.0; +CharacterFarClip_ps1 = 100.0; +CharacterFarClip_ps2 = 200.0; +CharacterFarClip_ps3 = 500.0; + +EnableRacialAnimation = 1; + +// *** MISC +// This is the actual aspect ratio of your screen (no relation with the resolution!!). Set 1.7777 if you got a 16/9 screen for instance +ScreenAspectRatio = 0.0; +ForceDXTC = 1; // Enable/Disable DXTC. +DivideTextureSizeBy2= 0; // Divide texture size +DisableVtxProgram = 0; // Disable Hardware Vertex Program. +DisableVtxAGP = 0; // Disable Hardware Vertex AGP. +DisableTextureShdr = 0; // Disable Hardware Texture Shader. +HDEntityTexture = 0; +HDTextureInstalled = 1; +WaitVBL = 0; // 0 or 1 to wait Vertical Sync. + +////////////////// +// GAME OPTIONS // +////////////////// +SelectWithRClick = 1; +DisplayWeapons = 1; +RotKeySpeedMax = 2.0; +RotKeySpeedMax_min = 1.0; +RotKeySpeedMax_max = 4.0; +RotKeySpeedMin = 1.0; +RotKeySpeedMin_min = 0.5; +RotKeySpeedMin_max = 2.0; +RotAccel = 3.0; +FollowOnAtk = 0; +AtkOnSelect = 0; +ZCPacsPrim = "gen_bt_col_ext.pacs_prim"; + +///////////////// +// PREFERENCES // +///////////////// +FPV = 0; // FPV(First Person View) : default is false (Third Person View). +CameraHeight = 2.2; // Camera Height (in meter) from the ground (for the Third Person View). +CameraDistance = 3.0; // Camera Distance(in meter) from the user (for the Third Person View). +CameraDistStep = 1.0; +CameraDistMin = 1.0; +CameraDistMax = 25.0; +CameraAccel = 5.0; +CameraSpeedMin = 2.0; +CameraSpeedMax = 100.0; +CameraResetSpeed = 10.0; // Speed in radian/s + +////////////////// +// SOUND CONFIG // +////////////////// +SoundForceSoftwareBuffer= 1; +SoundOn = 1; +UseEax = 0; + +MaxTrack = 32; +MaxTrack_min = 4; +MaxTrack_max = 32; +MaxTrack_step = 4; + +// This is the volume for "InGame" sound FXs +SoundSFXVolume = 1.0; +SoundSFXVolume_min = 0.0; +SoundSFXVolume_max = 1.0; +SoundSFXVolume_step = 0.001; + +// This is volume for "InGame" music. Does not affect the MP3 player +SoundGameMusicVolume = 0.5; +SoundGameMusicVolume_min = 0.0; +SoundGameMusicVolume_max = 1.0; +SoundGameMusicVolume_step = 0.001; + +// MISC +PreDataPath = { "user", "patch", "examples", "data/fonts", "data/gamedev.bnp" }; +DataPath = { "data" }; +NeedComputeVS = 0; + +NegFiltersDebug = {"Update DB", "Reading:", "Read Value :", "impulseCallBack", "CLIMPD:", "LNET" }; +NegFiltersInfo = { "CLIMPD:", "CPath::lookup" , "LNET" }; +NegFiltersWarning = { "'basics.Equipment Slot'.", "_usercolor.tga", "PACS" }; + +// Big screen shot +ScreenShotWidth = 0; +ScreenShotHeight = 0; +ScreenShotFullDetail = 1; // 1 to switch full detail mode for characters (both standard & big screenshots) + +// Read : "ID", "R G B A MODE [FX]" +SystemInfoColors = +{ +// OLD STUFF Here for compatibility +"RG", "0 0 0 255 normal", // Black to see when there is an error +"BC", "0 0 0 255 normal", // Black to see when there is an error +"JA", "0 0 0 255 normal", // Black to see when there is an error +"BL", "0 0 0 255 normal", // Black to see when there is an error +"VE", "0 0 0 255 normal", // Black to see when there is an error +"VI", "0 0 0 255 normal", // Black to see when there is an error + +// NEW System Info Categories +"SYS", "255 255 255 255 normal", // Default system messages +"BC", "255 255 255 255 centeraround", // Broadcast messages +"TAGBC", "255 255 255 255 centeraround", // Taged broadcast messages : color should remain white as some word are tagged +"XP", "255 255 64 255 over", // XP Gain +"SP", "255 255 64 255 over", // SP Gain +"TTL", "255 255 64 255 over", // Title +"TSK", "255 255 255 255 over", // Task +"ZON", "255 255 255 255 center", // Zone +"DG", "255 0 0 255 normal", // Damage to me +"DMG", "255 0 0 255 normal", // Damage to me +"DGP", "200 0 0 255 normal", // Damage to me from player +"DGM", "255 128 64 255 normal", // Damage from me +"MIS", "150 150 150 255 normal", // The opponent misses +"MISM", "255 255 255 255 normal", // I miss +"ITM", "0 200 0 255 over", // Item +"ITMO", "170 170 255 255 overonly", // Item other in group +"ITMF", "220 0 220 255 over", // Item failed +"SPL", "50 50 250 255 normal", // Spell to me +"SPLM", "50 150 250 255 normal", // Spell from me +"EMT", "255 150 150 255 normal", // Emote +"MTD", "255 255 0 255 over", // Message Of The Day +"FORLD","64 255 64 255 overonly", // Forage Locate Deposit +"CHK", "255 120 60 255 center", // Tous ce qui ne remplit pas une condition +"CHKCB","255 255 0 255 center", // Tous ce qui ne remplit pas une condition en combat (trop loin, cible invalide, pas assez de mana, etc.) +"PVPTM","255 120 60 255 overonly", // PVP timer +"THM", "255 255 64 255 over misc_levelup.ps", // Thema finished +"AMB", "255 255 64 255 center", // Ambiance +"ISE", "192 208 255 255 normal", // Item special effect +"ISE2", "192 208 255 255 center", // Item special effect with center text (for effects without flying text) +"OSM", "128 160 255 255 center", // Outpost state message +"AROUND","255 255 0 255 around", // Only in around channel +"R2_INVITE","0 255 0 255 around", // Ring invitation +}; + +PrintfCommands = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +PrintfCommandsFreeTrial = { + "52", "15", "55 55 0 255", "28", "uiChapterV", "624", + "428", "0 0 0 255", "18", "", "624", "378", + "0 0 0 255", "14", "", "644", "278", "0 0 0 255", + "18", "", "52", "17", "255 255 255 255", "28", + "uiChapterV", "622", "430", "255 255 255 255", "18", "", + "622", "380", "255 255 255 255", "14", "", "642", + "280", "255 255 255 255", "18", "" +}; + +DisplayMissingAnimFile = 0; + +LoadingStringCount = 54; + + +// Some R2 parameters ... + +R2Mode = 1; +R2EDEnabled = 1; +R2EDExtendedDebug = 0; +R2EDLightPalette = 0; +R2ClientGw = "r2linux01"; +LoadLuaDebugger = 0; +CheckR2ScenarioMD5 = 1; +LevelDesignEnabled = 0; + +DmCameraDistMax = 25; +DmRun = 20; +DmWalk = 6; + +R2EDReloadFiles = { + "r2ed.xml", + "r2_basic_bricks.lua", + "r2_components.lua", + "r2_core.lua", + "r2_features_default.lua", + "r2_features_fauna.lua", + "r2_features_npc_groups.lua", + "r2_palette.lua", + "r2_scenario.lua", + "r2_ui.lua" +}; + +XMLInterfaceFiles = { + "config.xml", + "widgets.xml", + "webig_widgets.xml", + "player.xml", + "inventory.xml", + "interaction.xml", + "phrase.xml", + "harvest.xml", + "macros.xml", + "info_player.xml", + "outpost.xml", + "guild.xml", + "taskbar.xml", + "game_config.xml", + "game_context_menu.xml", + "player_trade.xml", + "bot_chat_v4.xml", + "compass.xml", + "map.xml", + "hierarchy.xml", + "reset.xml", + "actions.xml", + "help.xml", + "encyclopedia.xml", + "commands.xml", + "commands2.xml", + "ring_access_point_filter.xml", + "ring_window.xml", + "bg_downloader.xml" +}; + +XMLR2EDInterfaceFiles = +{ + "r2ed.xml", + "r2_triggers.xml", + "r2_logic_entities.xml", + "r2ed_acts.xml", + "r2ed_scenario.xml", + "r2ed_connect.xml" +}; + +FogDistAndDepthLookupBias = 20; // bias for lookup of fog distance and depth + + +// Hardware cursor textures +// These will be extracted from the corresponding packed ui .tga files when they are loaded +// * +// * individual .tga files for hardware cursor bitmap not looked for, and not supported yet +HardwareCursors = +{ + "curs_can_pan.tga", + "curs_can_pan_dup.tga", + "curs_create.tga", + "curs_create_multi.tga", + "curs_create_vertex_invalid.tga", + "curs_default.tga", + "curs_dup.tga", + "curs_L.tga", + "curs_M.tga", + "curs_pan.tga", + "curs_pan_dup.tga", + "curs_pick.tga", + "curs_pick_dup.tga", + "curs_R.tga", + "curs_resize_BL_TR.tga", + "curs_resize_BR_TL.tga", + "curs_resize_LR.tga", + "curs_resize_TB.tga", + "curs_rotate.tga", + "curs_scale.tga", + "curs_stop.tga", + "text_cursor.tga", + "r2_hand_can_pan.tga", + "r2_hand_pan.tga", + "r2ed_tool_can_pick.tga", + "r2ed_tool_can_rotate.tga", + "r2ed_tool_pick.tga", + "r2ed_tool_rotate.tga", + "r2ed_tool_rotating.tga" +}; + +Loading_BG = "new_loading_bg.tga"; // Default name for the loading background file. +Launch_BG = "new_launcher_bg.tga"; // Default name for the launch background file. +TeleportKami_BG = "new_teleport_kami_bg.tga"; +TeleportKaravan_BG = "new_teleport_caravan_bg.tga"; +Elevator_BG = "new_elevator_bg.tga"; // Default name for the loading background file. +ResurectKami_BG = "new_resurect_kami_bg.tga"; +ResurectKaravan_BG = "new_resurect_caravane_bg.tga"; +End_BG = "end_bg.tga"; // Default name for the last background file. + +ScenarioSavePath = "./my_scenarios/"; + +// list ofpredefined keyset +// name will be looked up in the translation file by searching 'uiCP_KeysetName_" + id +// tooltip will be looked up in the translation file by searching 'uiCP_KeysetTooltip_" + id +// 'bi.' stands for built-in +// note : we add a dot in the name to be sure that there cannot be a conflict with character keyset name +BuiltInKeySets = +{ + "", // default ryzom keyboard layout + "bi.zqsd", // european keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is french or belgian) + "bi.wasd", // english keyboard fps displacement style (NB : don't change this layout name, ryzom will automatically select it if keyboard is not french nor belgian) + "bi.wow_alike" // 'world of warcraft' like keyboard style. (NB : not available for ring) +}; + +// "Newbie Training", "Story Telling", "Mistery", "Hack & Slash", "Guild Training", "Other" +ScenarioTypes = {"so_newbie_training","so_story_telling","so_mistery","so_hack_slash","so_guild_training","so_other"}; + +ScenarioLanguages = {"fr","de","en","other_lang"}; + +// Map each language to a forum help page +HelpPages = +{ + "fr=http://forums.ryzom.com/forum/showthread.php?t=29130", + "en=http://forums.ryzom.com/forum/showthread.php?t=29129", + "wk=http://forums.ryzom.com/forum/showthread.php?t=29129", + "de=http://forums.ryzom.com/forum/showthread.php?t=29131" +}; + +WebIgMainDomain = "app.ryzom.com"; +WebIgTrustedDomains = { + "api.ryzom.com", "app.ryzom.com" +}; +PatchletUrl = "http://app.ryzom.com/app_patchlet/index.php?patch=preload"; + +SelectedSlot = 0; + +BuildName = "RELEASE_HEAD"; diff --git a/dist/debian/vivid/debian/compat b/dist/debian/vivid/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/dist/debian/vivid/debian/compat @@ -0,0 +1 @@ +9 diff --git a/dist/debian/vivid/debian/control b/dist/debian/vivid/debian/control new file mode 100644 index 000000000..e662d1f37 --- /dev/null +++ b/dist/debian/vivid/debian/control @@ -0,0 +1,212 @@ +Source: ryzom-core +Priority: extra +Maintainer: Debian Games Team +Uploaders: Luboš Novák , Cédric OCHS +Build-Depends: debhelper (>= 9), cmake(>= 2.6), libxml2-dev, + libgl1-mesa-dev, libjpeg8-dev | libjpeg62-dev, libpng12-dev, libopenal-dev, + libfreetype6-dev, libxxf86vm-dev, libxrandr-dev, libxrender-dev, + libvorbis-dev, libsquish-dev, libcurl4-openssl-dev, libluabind-dev, + libboost-dev, libwww-dev, libmysqlclient-dev, + libcpptest-dev, libqt4-dev, libqt4-opengl-dev +Standards-Version: 3.9.5 +Section: games +Bugs: http://dev.ryzom.com/projects/ryzom/issues +Homepage: http://dev.ryzom.com +Vcs-Svn: svn://svn.debian.org/svn/pkg-games/packages/trunk/nel/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-games/packages/trunk/nel/?op=log + +Package: libnel0 +Section: libdevel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Massive multi-user 3D game environments library (shared library) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the shared library. + +Package: libnel-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (development files) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the headers. + +Package: libnel0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the debugging symbols. + +Package: nel-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools. + +Package: nel-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, nel-tools (= ${binary:Version}) +Description: Massive multi-user 3D game environments library (tools debugging symbols) + This is a software platform for creating and running massively multi-user + entertainment in a 3D environment over the Internet. + . + This library is further divided into specific modules: network, ai, 3d + and misc. If you want to use any of these, you also need to use the misc + part of the library, but ai, 3d and network are totally independent from + each other so you can use only the parts you really need in your project. + . + This package contains the tools debugging symbols. + +Package: libryzom-sevenzip0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Ryzom science-fantasy MMORPG (decompression library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library. + +Package: libryzom-sevenzip0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-sevenzip0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (decompression library debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the decompression shared library debugging symbols. + +Package: libryzom-gameshare0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libnel0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common shared library. + +Package: libryzom-gameshare0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (common debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game common debugging symbols. + +Package: libryzom-clientsheets0 +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets shared library) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets shared library. + +Package: libryzom-clientsheets0-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client sheets debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client sheets debugging symbols. + +Package: ryzom-client +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}), + ryzom-client-config (>= ${source:Version}), rsync, wget, p7zip-full +Description: Ryzom science-fantasy MMORPG (client) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the game client. + +Package: ryzom-client-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-client (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (client debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client debugging symbols. + +Package: ryzom-tools +Section: devel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends}, libryzom-gameshare0 (= ${binary:Version}), + libryzom-clientsheets0 (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools. + +Package: ryzom-tools-dbg +Section: debug +Architecture: any +Depends: ${misc:Depends}, ryzom-tools (= ${binary:Version}) +Description: Ryzom science-fantasy MMORPG (tools debugging symbols) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the tools debugging symbols. + +Package: ryzom-client-config +Architecture: all +Depends: ${misc:Depends} +Description: Ryzom science-fantasy MMORPG (client configuration) + Ryzom Core provides the base technologies and a set of development + methodologies for the development of both client and server code. + . + This package contains the client configuration. diff --git a/dist/debian/vivid/debian/copyright b/dist/debian/vivid/debian/copyright new file mode 100644 index 000000000..d5a0f2f10 --- /dev/null +++ b/dist/debian/vivid/debian/copyright @@ -0,0 +1,53 @@ +This package was debianized by Gürkan Sengün on +Tue, 23 Oct 2007 12:56:45 +0200. + +It was downloaded from + +Upstream Authors: + + Olivier Cado + Bertram Felgenhauer + Krzysztof Kotlenga + Henri Kuuste + Vianney Lecroart + Namine + Cédric Ochs + Guillaume Puzin + Matt Raykowski + Robert Timm + Titegus + Ulukyn + Robert Wetzel + Zorglor + TODO: take names from Ryzom credits + +Copyright: + + Copyright (C) 2003-2009 Vianney Lecroart + Copyright (C) 2003-2009 Matt Raykowski + Copyright (C) 2000-2006 Nevrax Ltd. + Copyright (C) 2006-2007 Gameforge France + Copyright (C) 2008-2010 Winch Gate Property Limited + +License: + + 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 . + +The Debian packaging is: + + Copyright (C) 2007 Gürkan Sengün + +and is licensed under the GPL version 2, +see `/usr/share/common-licenses/GPL-2'. + diff --git a/dist/debian/vivid/debian/docs b/dist/debian/vivid/debian/docs new file mode 100644 index 000000000..58e5e3e76 --- /dev/null +++ b/dist/debian/vivid/debian/docs @@ -0,0 +1,2 @@ +changelog +README diff --git a/dist/debian/vivid/debian/libnel-dev.docs b/dist/debian/vivid/debian/libnel-dev.docs new file mode 100644 index 000000000..ba8894c15 --- /dev/null +++ b/dist/debian/vivid/debian/libnel-dev.docs @@ -0,0 +1,2 @@ +README + diff --git a/dist/debian/vivid/debian/libnel-dev.install b/dist/debian/vivid/debian/libnel-dev.install new file mode 100644 index 000000000..9f9310cee --- /dev/null +++ b/dist/debian/vivid/debian/libnel-dev.install @@ -0,0 +1,3 @@ +usr/include/* +usr/lib/*/libnel*.so +usr/lib/*/pkgconfig/* diff --git a/dist/debian/vivid/debian/libnel-dev.manpages b/dist/debian/vivid/debian/libnel-dev.manpages new file mode 100644 index 000000000..bb4027ca9 --- /dev/null +++ b/dist/debian/vivid/debian/libnel-dev.manpages @@ -0,0 +1 @@ +debian/nel-config.1 diff --git a/dist/debian/vivid/debian/libnel-doc.doc-base.nel b/dist/debian/vivid/debian/libnel-doc.doc-base.nel new file mode 100644 index 000000000..6ae95fc9f --- /dev/null +++ b/dist/debian/vivid/debian/libnel-doc.doc-base.nel @@ -0,0 +1,9 @@ +Document: nel +Title: NeL Reference Manual +Author: Nevrax +Abstract: This is a software platform for creating and running massively multi-user entertainment in a 3D environment over the Internet. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libnel-doc/html/index.html +Files: /usr/share/doc/libnel-doc/html/*.html diff --git a/dist/debian/vivid/debian/libnel-doc.install b/dist/debian/vivid/debian/libnel-doc.install new file mode 100644 index 000000000..bf3f02a61 --- /dev/null +++ b/dist/debian/vivid/debian/libnel-doc.install @@ -0,0 +1 @@ +usr/share/doc/libnel-doc/html/* diff --git a/dist/debian/vivid/debian/libnel0.install b/dist/debian/vivid/debian/libnel0.install new file mode 100644 index 000000000..4273c0ad1 --- /dev/null +++ b/dist/debian/vivid/debian/libnel0.install @@ -0,0 +1,3 @@ +usr/lib/*/libnel*.so.* +usr/lib/*/nel/libnel_drv_openal.so +usr/lib/*/nel/libnel_drv_opengl.so diff --git a/dist/debian/vivid/debian/libryzom-clientsheets0.install b/dist/debian/vivid/debian/libryzom-clientsheets0.install new file mode 100644 index 000000000..b5ea5b79c --- /dev/null +++ b/dist/debian/vivid/debian/libryzom-clientsheets0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_clientsheets.so.* + diff --git a/dist/debian/vivid/debian/libryzom-gameshare0.install b/dist/debian/vivid/debian/libryzom-gameshare0.install new file mode 100644 index 000000000..2f51b0804 --- /dev/null +++ b/dist/debian/vivid/debian/libryzom-gameshare0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_gameshare.so.* + diff --git a/dist/debian/vivid/debian/libryzom-sevenzip0.install b/dist/debian/vivid/debian/libryzom-sevenzip0.install new file mode 100644 index 000000000..1edced3f8 --- /dev/null +++ b/dist/debian/vivid/debian/libryzom-sevenzip0.install @@ -0,0 +1,2 @@ +usr/lib/*/libryzom_sevenzip.so.* + diff --git a/dist/debian/vivid/debian/nel-config.1 b/dist/debian/vivid/debian/nel-config.1 new file mode 100644 index 000000000..be47bf496 --- /dev/null +++ b/dist/debian/vivid/debian/nel-config.1 @@ -0,0 +1,37 @@ +.TH nel-config 1 "26 Oct 2007" +.SH NAME +nel-config \- Get information about a libnel installation +.SH SYNOPSIS +.B nel-config [options] +.SH DESCRIPTION +.B nel-config +displays information about a libnel installation. +.SH OPTIONS +.IP "--cflags" +Set of compiler options (CFLAGS) to use when compiling files that use +libnel. Currently that is only thw include path to the nel include files. +.IP "--libs" +Shows the complete set of libs and other linker options you will need in order +to link your application with libnel. +.IP "--prefix" +This is the prefix used when libnel was installed. libnel is then installed +in $prefix/lib and its header files are installed in $prefix/include and so +on. The prefix is set with "configure \-\-prefix". +.IP "--version" +Outputs version information about the installed libnel. +.SH "EXAMPLES" +What linker options do I need when I link with libnel? + + $ nel-config \-\-libs + +What compiler options do I need when I compile using libnel functions? + + $ nel-config \-\-cflags + +What's the installed libnel version? + + $ nel-config \-\-version +.SH AUTHOR +.PP +This manual page was written by G\[:u]rkan Seng\[:u]n +,for the Debian project (but may be used by others). diff --git a/dist/debian/vivid/debian/nel-tools.install b/dist/debian/vivid/debian/nel-tools.install new file mode 100644 index 000000000..4ca03208c --- /dev/null +++ b/dist/debian/vivid/debian/nel-tools.install @@ -0,0 +1,87 @@ +etc/nel/build_ig_boxes.cfg +etc/nel/build_indoor_rbank.cfg +etc/nel/build_rbank.cfg +etc/nel/make_sheet_id.cfg +etc/nel/words_dic.cfg +etc/nel/zviewer.cfg +usr/bin/animation_set_builder +usr/bin/anim_builder +usr/bin/bnp_make +usr/bin/build_clod_bank +usr/bin/build_clodtex +usr/bin/build_coarse_mesh +usr/bin/build_far_bank +usr/bin/build_ig_boxes +usr/bin/build_indoor_rbank +usr/bin/build_interface +usr/bin/build_rbank +usr/bin/build_samplebank +usr/bin/build_shadow_skin +usr/bin/build_smallbank +usr/bin/build_sound +usr/bin/build_soundbank +usr/bin/cluster_viewer +usr/bin/disp_sheet_id +usr/bin/extract_filename +usr/bin/file_info +usr/bin/georges2csv +usr/bin/get_neighbors +usr/bin/hls_bank_maker +usr/bin/ig_add +usr/bin/ig_info +usr/bin/ig_lighter +usr/bin/lock +usr/bin/make_sheet_id +usr/bin/memlog +usr/bin/message_box_qt +usr/bin/nl_probe_timers +usr/bin/nl_sample_chatclient +usr/bin/nl_sample_chatserver +usr/bin/nl_sample_clusterview +usr/bin/nl_sample_command +usr/bin/nl_sample_configfile +usr/bin/nl_sample_ct_ai_service +usr/bin/nl_sample_ct_gd_service +usr/bin/nl_sample_debug +usr/bin/nl_sample_font +usr/bin/nl_sample_georges +usr/bin/nl_sample_i18n +usr/bin/nl_sample_log +usr/bin/nl_sample_ls_client +usr/bin/nl_sample_ls_fes +usr/bin/nl_sample_pacs +usr/bin/nl_sample_shapeview +usr/bin/nl_sample_sound_sources +usr/bin/nl_sample_stream_file +usr/bin/nl_sample_stream_ogg_vorbis +usr/bin/nl_sample_strings +usr/bin/nl_sample_udpclient +usr/bin/nl_sample_udpserver +usr/bin/panoply_maker +usr/bin/shapes_exporter +usr/bin/tga2dds +usr/bin/tga_cut +usr/bin/tga_resize +usr/bin/tile_edit_qt +usr/bin/words_dic_qt +usr/bin/xml_packer +usr/bin/zone_check_bind +usr/bin/zone_dependencies +usr/bin/zone_dump +usr/bin/zone_ig_lighter +usr/bin/zone_lighter +usr/bin/zone_welder +usr/bin/zviewer +usr/lib/*/libs3tc_compressor.so.* +usr/share/nel/nl_sample_chat +usr/share/nel/nl_sample_class_transport +usr/share/nel/nl_sample_clusterview +usr/share/nel/nl_sample_configfile +usr/share/nel/nl_sample_font +usr/share/nel/nl_sample_georges +usr/share/nel/nl_sample_i18n +usr/share/nel/nl_sample_login_system +usr/share/nel/nl_sample_pacs +usr/share/nel/nl_sample_sound +usr/share/nel/nl_sample_udp +usr/share/nel/zviewer diff --git a/dist/debian/vivid/debian/rules b/dist/debian/vivid/debian/rules new file mode 100755 index 000000000..2b329f3be --- /dev/null +++ b/dist/debian/vivid/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f +%: + dh $@ --buildsystem=cmake --parallel + +override_dh_strip: + dh_strip -plibnel0 --dbg-package=libnel0-dbg + dh_strip -pnel-tools --dbg-package=nel-tools-dbg + dh_strip -plibryzom-sevenzip0 --dbg-package=libryzom-sevenzip0-dbg + dh_strip -plibryzom-gameshare0 --dbg-package=libryzom-gameshare0-dbg + dh_strip -plibryzom-clientsheets0 --dbg-package=libryzom-clientsheets0-dbg + dh_strip -pryzom-client --dbg-package=ryzom-client-dbg + dh_strip -pryzom-tools --dbg-package=ryzom-tools-dbg + +override_dh_auto_configure: + dh_auto_configure -- -DLIBRARY_ARCHITECTURE=$(DEB_HOST_MULTIARCH) -DTARGET_CPU=$(DEB_HOST_GNU_CPU) -DWITH_SYMBOLS=ON -DNL_ETC_PREFIX=/etc/nel -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/games/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/games -DWITH_RYZOM_SERVER=OFF -DWITH_NEL_TESTS=OFF -DWITH_LIBWWW_STATIC=ON -DWITH_QT=ON + +override_dh_install: + dh_install + install -m755 debian/ryzom debian/ryzom-client/usr/games/ryzom diff --git a/dist/debian/vivid/debian/ryzom b/dist/debian/vivid/debian/ryzom new file mode 100755 index 000000000..79923e9e9 --- /dev/null +++ b/dist/debian/vivid/debian/ryzom @@ -0,0 +1,116 @@ +#!/bin/sh + +P7ZIP=/usr/bin/7z +RSYNC=/usr/bin/rsync +WGET=/usr/bin/wget +RYZOM_CLIENT=/usr/games/ryzom_client +RYZOM_CONFIG_DEFAULT=/etc/ryzom/client_default.cfg +RYZOM_CONFIG=~/.ryzom/client.cfg + +RYZOM_DIR=~/.ryzom +DATA_DIR=$RYZOM_DIR/data + +mkdir -p $RYZOM_DIR + +if [ ! -d "$DATA_DIR" ] +then + # symlink user's data dir to ryzom data cache + ln -s /var/cache/ryzom/data $DATA_DIR +fi + +# Check if a directory contains Ryzom data +ryzom_data_found() +{ + # Check for directory, gamedev.bnp and ryzom.ttf + COUNT=0 + + if [ -d $1 ] + then + # If there are a least 220 bnp files, we could use this directory + # There are 226 bnp files in last version + COUNT=$(find -L $1 -name *.bnp | wc -l) + fi + + echo $COUNT +} + +COUNT=$(ryzom_data_found $DATA_DIR) + +echo "Found $COUNT BNP files in $DATA_DIR" + +if [ $COUNT -lt 220 ] && [ -f $WGET ] && [ -f $P7ZIP ] +then + mkdir -p "$DATA_DIR/tmp" + + # Check free diskspace + echo "Checking for free disk space..." + DISKSPACE=$(df "$DATA_DIR/tmp" | grep "/dev" | awk '{print $4}') + if [ $? -ne 0 ] + then + exit 1 + fi + if [ "$DISKSPACE" -lt "8000000" ] + then + echo "You don't have enough free space to download and uncompress Ryzom client data." + exit 1 + fi + + # Download + echo "Downloading ryzom_client.7z from sourceforge..." + # wget + $WGET -c http://sourceforge.net/projects/ryzom/files/ryzom_client.7z -O "$DATA_DIR/tmp/ryzom_client.7z" + if [ $? -ne 0 ] + then + exit 1 + fi + + # Extract data + echo "Extracting data from ryzom_client.7z..." + cd "$DATA_DIR/tmp" + # 7z + $P7ZIP x ryzom_client.7z + if [ $? -ne 0 ] + then + exit 1 + fi + cd .. + mv -uf tmp/ryzom/data/* . + # Delete temporary downloaded files + rm -rf tmp +fi + +if [ -f $RYZOM_CONFIG ] +then + echo "Updating $RYZOM_CONFIG..." + + # Escape path for sed using bash find and replace + RYZOM_CONFIG_DEFAULT_ESCAPED=$(echo $RYZOM_CONFIG_DEFAULT | sed 's/\//\\\//g') + + # Update RootConfigFilename to be sure it's using the right default config + sed -i 's/RootConfigFilename.*/RootConfigFilename = \"'$RYZOM_CONFIG_DEFAULT_ESCAPED'\"/g' $RYZOM_CONFIG +fi + +if [ -f $RSYNC ] +then + echo "Patching Ryzom data..." + + # Rsync + $RSYNC -rOtzv --progress --stats www.ryzom.com::ryzom/data/ $DATA_DIR + if [ $? -ne 0 ] + then + exit 1 + fi +fi + +# Launch Ryzom client if it exists +if [ -f $RYZOM_CLIENT ] +then + echo "Launching Ryzom..." + + nohup $RYZOM_CLIENT $1 $2 $3 2> /dev/null & +fi + +# Wait until all previous commands are executed and displayed before exiting +sync + +exit 0 diff --git a/dist/debian/vivid/debian/ryzom-client-config.install b/dist/debian/vivid/debian/ryzom-client-config.install new file mode 100644 index 000000000..bef3f53dd --- /dev/null +++ b/dist/debian/vivid/debian/ryzom-client-config.install @@ -0,0 +1 @@ +debian/client_default.cfg etc/ryzom diff --git a/dist/debian/vivid/debian/ryzom-client.dirs b/dist/debian/vivid/debian/ryzom-client.dirs new file mode 100644 index 000000000..d1571095c --- /dev/null +++ b/dist/debian/vivid/debian/ryzom-client.dirs @@ -0,0 +1,4 @@ +usr/games +usr/share/applications +usr/share/pixmaps +var/cache/ryzom/data diff --git a/dist/debian/vivid/debian/ryzom-client.install b/dist/debian/vivid/debian/ryzom-client.install new file mode 100644 index 000000000..be142a6be --- /dev/null +++ b/dist/debian/vivid/debian/ryzom-client.install @@ -0,0 +1,4 @@ +usr/games/ryzom_client +usr/share/icons +usr/share/pixmaps +debian/ryzom_client.desktop usr/share/applications diff --git a/dist/debian/vivid/debian/ryzom-client.menu b/dist/debian/vivid/debian/ryzom-client.menu new file mode 100644 index 000000000..5e15bf577 --- /dev/null +++ b/dist/debian/vivid/debian/ryzom-client.menu @@ -0,0 +1,6 @@ +?package(ryzom-client): \ + needs="x11" \ + section="Games/Adventure" \ + icon="/usr/share/pixmaps/ryzom.xpm" \ + title="Ryzom" \ + command="/usr/games/ryzom" diff --git a/dist/debian/vivid/debian/ryzom-client.postinst b/dist/debian/vivid/debian/ryzom-client.postinst new file mode 100644 index 000000000..51570a3dc --- /dev/null +++ b/dist/debian/vivid/debian/ryzom-client.postinst @@ -0,0 +1,10 @@ +#!/bin/sh + +if ! getent group ryzom ; then + addgroup --system ryzom +fi + +chgrp -R ryzom /var/cache/ryzom/data +chmod -R g+wrxs /var/cache/ryzom/data + +#DEBHELPER# diff --git a/dist/debian/vivid/debian/ryzom-client.postrm b/dist/debian/vivid/debian/ryzom-client.postrm new file mode 100644 index 000000000..828871eb4 --- /dev/null +++ b/dist/debian/vivid/debian/ryzom-client.postrm @@ -0,0 +1,49 @@ +#! /bin/sh +# postrm script for ryzom-client +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see /usr/share/doc/packaging-manual/ + +case "$1" in + purge) + + FILES=/home/* + + for f in $FILES + do + FOLDER="$f/.ryzom/data" + + if [ -d $FOLDER ] + then + rm -rf $FOLDER + echo "Deleting $FOLDER..." + fi + done + + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +#DEBHELPER# + +exit 0 diff --git a/dist/debian/vivid/debian/ryzom-tools.install b/dist/debian/vivid/debian/ryzom-tools.install new file mode 100644 index 000000000..c468e32d8 --- /dev/null +++ b/dist/debian/vivid/debian/ryzom-tools.install @@ -0,0 +1,26 @@ +usr/bin/7zDec +usr/bin/alias_synchronizer +usr/bin/assoc_mem +usr/bin/csv_transform +usr/bin/georges_editor_qt +usr/bin/icon_search +usr/bin/make_alias_file +usr/bin/make_anim_by_race +usr/bin/make_anim_melee_impact +usr/bin/mp_generator +usr/bin/named2csv +usr/bin/patch_gen +usr/bin/patch_gen_service +usr/bin/pd_parser +usr/bin/pdr_util +usr/bin/prim_export +usr/bin/ryzom_mission_compiler +usr/bin/sheets_packer +usr/bin/skill_extractor +usr/bin/stats_scan +usr/bin/translation_tools +usr/bin/uni_conv +usr/games/ryzom_client_patcher +usr/lib/*/libryzom_mission_compiler_lib.so.* +usr/share/games/ryzom/data_leveldesign +usr/share/games/ryzom/georges_editor_qt diff --git a/dist/debian/vivid/debian/ryzom_client.desktop b/dist/debian/vivid/debian/ryzom_client.desktop new file mode 100644 index 000000000..1c62d1b6a --- /dev/null +++ b/dist/debian/vivid/debian/ryzom_client.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Name=Ryzom +Name[ru]=Ризом +Type=Application +GenericName=ryzom_client +Exec=/usr/games/ryzom +Icon=ryzom_client +Terminal=true +Hidden=false +Categories=Game;RolePlaying; diff --git a/dist/debian/vivid/debian/source/format b/dist/debian/vivid/debian/source/format new file mode 100644 index 000000000..b9b023757 --- /dev/null +++ b/dist/debian/vivid/debian/source/format @@ -0,0 +1,2 @@ +1.0 +