From c00ba3f2c1c2b0f66ba2a2646b38f9d75c610c6b Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 1 Mar 2015 18:41:16 +0200 Subject: [PATCH 01/73] Fix compilation --HG-- branch : develop --- code/nel/src/gui/interface_anim.cpp | 2 +- code/nel/src/gui/interface_group.cpp | 2 +- code/nel/src/gui/interface_parser.cpp | 14 +++++++------- .../ryzom/client/src/interface_v3/dbctrl_sheet.cpp | 2 +- code/ryzom/client/src/interface_v3/group_map.cpp | 2 +- .../client/src/interface_v3/parser_modules.cpp | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/code/nel/src/gui/interface_anim.cpp b/code/nel/src/gui/interface_anim.cpp index 693e63f09..f18f9633d 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; 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 a3e2c48aa..f8725c086 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; @@ -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 ); @@ -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/ryzom/client/src/interface_v3/dbctrl_sheet.cpp b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp index d72a975f3..68ceb7bf0 100644 --- a/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp +++ b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp @@ -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/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/parser_modules.cpp b/code/ryzom/client/src/interface_v3/parser_modules.cpp index 58158ea62..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 From 4daf4f5b5fb7fa9f4177107d1c98c25cf3e8a5fe Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 13:06:51 +0100 Subject: [PATCH 02/73] Fix #208 linking against static libX11.a --HG-- branch : develop --- code/nel/src/3d/driver/opengl/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) 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) From c0e885aa6ae7c85d18bbaea33ee403fd2c9d2292 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 13:07:33 +0100 Subject: [PATCH 03/73] Fixed: Skip .hg directories --HG-- branch : develop --- code/nel/src/misc/path.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/nel/src/misc/path.cpp b/code/nel/src/misc/path.cpp index 71d57104a..b47c741f1 100644 --- a/code/nel/src/misc/path.cpp +++ b/code/nel/src/misc/path.cpp @@ -898,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; } From fdc8ddb9f4ca6c6af3c9f629865dd5ca411b87d3 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 13:08:42 +0100 Subject: [PATCH 04/73] Fix #229 missing include in tools sources --HG-- branch : develop --- code/ryzom/tools/leveldesign/mp_generator/utils.h | 1 + code/ryzom/tools/patch_gen/patch_gen_common.cpp | 1 + code/ryzom/tools/server/ai_build_wmap/build_proximity_maps.cpp | 2 ++ 3 files changed, 4 insertions(+) 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..e1b3110fe 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" 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... From a0c60bc89682ce74c83becd4b48f58f456aa45fb Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 13:09:16 +0100 Subject: [PATCH 05/73] Changed: Use CFile::createEmptyFile() --HG-- branch : develop --- code/ryzom/tools/patch_gen/patch_gen_common.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/ryzom/tools/patch_gen/patch_gen_common.cpp b/code/ryzom/tools/patch_gen/patch_gen_common.cpp index e1b3110fe..2437c068e 100644 --- a/code/ryzom/tools/patch_gen/patch_gen_common.cpp +++ b/code/ryzom/tools/patch_gen/patch_gen_common.cpp @@ -346,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; } From bb429f0ea936e7fecafabd1920ea9d6db595b695 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 13:09:57 +0100 Subject: [PATCH 06/73] Changed: Use NLMISC::toString instead of itoa --HG-- branch : develop --- code/ryzom/tools/translation_tools/main.cpp | 25 +++++---------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/code/ryzom/tools/translation_tools/main.cpp b/code/ryzom/tools/translation_tools/main.cpp index 9997342fe..ed45c3000 100644 --- a/code/ryzom/tools/translation_tools/main.cpp +++ b/code/ryzom/tools/translation_tools/main.cpp @@ -95,17 +95,6 @@ const std::string historyDir("history/"); string diffVersion; -#ifndef NL_OS_WINDOWS -char* itoa(int val, char *buffer, int base) -{ - static char buf[32] = {0}; - int i = 30; - for(; val && i ; --i, val /= base) - buf[i] = "0123456789abcdef"[val % base]; - return &buf[i+1]; -} -#endif // NL_OS_WINDOWS - #ifdef NL_DEBUG # define LOG nldebug #else @@ -970,7 +959,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 +969,11 @@ public: for (uint i=0; i Date: Mon, 2 Mar 2015 13:13:26 +0100 Subject: [PATCH 07/73] Fixed: Sort files in CFileContainer::addSearchPath too --HG-- branch : develop --- code/nel/src/misc/path.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/code/nel/src/misc/path.cpp b/code/nel/src/misc/path.cpp index b47c741f1..60802a142 100644 --- a/code/nel/src/misc/path.cpp +++ b/code/nel/src/misc/path.cpp @@ -1033,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++) @@ -1078,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 (); From 5e390364deaaac7b098a0822925b43321e7c3b7e Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 13:13:45 +0100 Subject: [PATCH 08/73] Changed: Minor change --HG-- branch : develop --- code/nel/src/misc/path.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/src/misc/path.cpp b/code/nel/src/misc/path.cpp index 60802a142..248116f20 100644 --- a/code/nel/src/misc/path.cpp +++ b/code/nel/src/misc/path.cpp @@ -937,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 From c2139e95c01074bb6e7ba9f4abd1961221b4511d Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 23:27:12 +0100 Subject: [PATCH 09/73] Fixed: Compilation with GCC --HG-- branch : develop --- code/nel/src/gui/interface_anim.cpp | 2 +- code/nel/src/gui/interface_parser.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/src/gui/interface_anim.cpp b/code/nel/src/gui/interface_anim.cpp index f18f9633d..edd96e1cf 100644 --- a/code/nel/src/gui/interface_anim.cpp +++ b/code/nel/src/gui/interface_anim.cpp @@ -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_parser.cpp b/code/nel/src/gui/interface_parser.cpp index f8725c086..1dbf62d51 100644 --- a/code/nel/src/gui/interface_parser.cpp +++ b/code/nel/src/gui/interface_parser.cpp @@ -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 From f999cc892c1d91130e96d7e6c43268cc9786c930 Mon Sep 17 00:00:00 2001 From: kervala Date: Mon, 2 Mar 2015 23:51:23 +0100 Subject: [PATCH 10/73] Fixed: Compilation with GCC --HG-- branch : develop --- .../src/entities_game_service/player_manager/cdb_branch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 Date: Tue, 3 Mar 2015 18:59:23 +0100 Subject: [PATCH 11/73] Fixed: Compilation --HG-- branch : develop --- code/ryzom/tools/translation_tools/main.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/code/ryzom/tools/translation_tools/main.cpp b/code/ryzom/tools/translation_tools/main.cpp index ed45c3000..30054ffbd 100644 --- a/code/ryzom/tools/translation_tools/main.cpp +++ b/code/ryzom/tools/translation_tools/main.cpp @@ -985,13 +985,11 @@ public: // changed element TPhrase phrase = context.Addition[addIndex]; -// char temp[1024]; - sprintf(temp, "// DIFF CHANGED %u ", addIndex); vector 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; @@ -2697,13 +2695,11 @@ void CMakePhraseDiff2::onChanged(uint addIndex, uint refIndex, TPhraseDiffContex // changed element TPhrase phrase = context.Addition[addIndex]; -// char temp[1024]; - sprintf(temp, "// DIFF CHANGED"); vector 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; From 29f42ed5abad64515560dbffe1782eb2a6cc5ffa Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 21:07:12 +0100 Subject: [PATCH 12/73] Some practical improvements for the report handling --HG-- branch : develop --- code/nel/include/nel/misc/common.h | 2 +- code/nel/include/nel/misc/system_utils.h | 4 ++++ code/nel/src/misc/common.cpp | 11 +++++++---- code/nel/src/misc/debug.cpp | 5 ++--- code/nel/src/misc/report.cpp | 9 ++++++--- code/nel/src/misc/system_utils.cpp | 10 ++++++++++ 6 files changed, 30 insertions(+), 11 deletions(-) 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/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/src/misc/common.cpp b/code/nel/src/misc/common.cpp index 671879f2e..8183430f1 100644 --- a/code/nel/src/misc/common.cpp +++ b/code/nel/src/misc/common.cpp @@ -667,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 @@ -719,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 ); @@ -776,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) { @@ -796,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 747d12129..798161a21 100644 --- a/code/nel/src/misc/debug.cpp +++ b/code/nel/src/misc/debug.cpp @@ -53,6 +53,7 @@ #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 @@ -1223,10 +1224,8 @@ void createDebug (const char *logPath, bool logInFile, bool eraseLastLog) #endif // LOG_IN_FILE DefaultMemDisplayer = new CMemDisplayer ("DEFAULT_MD"); -#ifdef NL_OS_WINDOWS - if (GetConsoleWindow() == NULL) + if (NLMISC::CSystemUtils::detectWindowedApplication()) INelContext::getInstance().setWindowedApplication(true); -#endif initDebug2(logInFile); diff --git a/code/nel/src/misc/report.cpp b/code/nel/src/misc/report.cpp index b388dfb31..ef3280ef5 100644 --- a/code/nel/src/misc/report.cpp +++ b/code/nel/src/misc/report.cpp @@ -25,6 +25,7 @@ #include "nel/misc/report.h" #include "nel/misc/path.h" #include "nel/misc/file.h" +#include "nel/misc/system_utils.h" #ifdef DEBUG_NEW #define new DEBUG_NEW @@ -102,8 +103,9 @@ TReportResult report(const std::string &title, const std::string &subject, const } } - if (INelContext::isContextInitialised() - && INelContext::getInstance().isWindowedApplication() + if (((INelContext::isContextInitialised() + && INelContext::getInstance().isWindowedApplication()) + || CSystemUtils::detectWindowedApplication()) && CFile::isExists(NL_CRASH_REPORT_TOOL)) { std::stringstream params; @@ -151,7 +153,8 @@ TReportResult report(const std::string &title, const std::string &subject, const } else { - NLMISC::launchProgram(NL_CRASH_REPORT_TOOL, paramsStr); // FIXME: Don't use this function, it uses logging, etc, so may loop infinitely! + NLMISC::launchProgram(NL_CRASH_REPORT_TOOL, paramsStr, + NL_DEBUG_REPORT ? INelContext::isContextInitialised() : false); // Only log if required, avoid infinite loop return defaultResult; } } diff --git a/code/nel/src/misc/system_utils.cpp b/code/nel/src/misc/system_utils.cpp index e298f941c..bb1111b88 100644 --- a/code/nel/src/misc/system_utils.cpp +++ b/code/nel/src/misc/system_utils.cpp @@ -355,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 From 28bcfeb01c93a71bb85f4d27c40e76bc94891847 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 21:15:09 +0100 Subject: [PATCH 13/73] Flag windowed application when attempting window creation using 3D driver --HG-- branch : develop --- code/nel/src/3d/driver/direct3d/driver_direct3d.cpp | 4 ++++ code/nel/src/3d/driver/opengl/driver_opengl_window.cpp | 3 +++ 2 files changed, 7 insertions(+) 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/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; From 3c120cd398c10f78d622e06af49c413f20a227b9 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 21:17:20 +0100 Subject: [PATCH 14/73] Flag studio as windowed application --HG-- branch : develop --- code/studio/src/main.cpp | 1 + 1 file changed, 1 insertion(+) 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 From 5a297ddbe473872452d7f953a372ad80af14d2e5 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 21:20:01 +0100 Subject: [PATCH 15/73] Flag max plugins as windowed --HG-- branch : develop --- .../tools/3d/plugin_max/nel_3dsmax_shared/nel_3dsmax_shared.cpp | 1 + code/nel/tools/3d/plugin_max/nel_export/nel_export_script.cpp | 1 + 2 files changed, 2 insertions(+) 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_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"); From 6417fae7bdd47c8d2ca15d030175e4edca0ddac3 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 23:22:23 +0100 Subject: [PATCH 16/73] EOL --HG-- branch : hotfix --- .hgeol | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgeol b/.hgeol index c7a59fec5..a9766f577 100644 --- a/.hgeol +++ b/.hgeol @@ -14,6 +14,8 @@ **.font = native **.scheme = native +**.tpl = native + **.xsd = native **.dox = native From 846abf93c995525cb1fea8aef396c26773c693b5 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 23:37:21 +0100 Subject: [PATCH 17/73] Synchronize versions --HG-- branch : hotfix --- .../3d/plugin_max/nel_export/nel_export.rc | 88 ++++++------- .../nel_patch_converter.rc | 18 +-- .../3d/plugin_max/nel_patch_edit/mods.rc | 124 +++++++++--------- .../nel_patch_paint/nel_patch_paint.rc | 18 +-- .../vertex_tree_paint.rc | 24 ++-- .../plugin_max/tile_utility/tile_utility.rc | 88 ++++++------- code/web/public_php/ams/templates/layout.tpl | 4 +- 7 files changed, 182 insertions(+), 182 deletions(-) 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 d01762618..b5eaa964d 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 @@ -54,13 +54,13 @@ FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,129,7,50,14 PUSHBUTTON "Cancel",IDCANCEL,129,42,50,14 - CONTROL "All",IDC_ALLCHANNEL,"Button",BS_AUTOCHECKBOX | + CONTROL "All",IDC_ALLCHANNEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,23,10 CONTROL "Channel Position",IDC_CHANNELPOS,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,7,23,69,10 CONTROL "Channel Rotation",IDC_CHANNELROT,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,7,34,71,10 - CONTROL "Channel Scale",IDC_CHANNELSCA,"Button",BS_AUTOCHECKBOX | + CONTROL "Channel Scale",IDC_CHANNELSCA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,46,62,10 END @@ -91,11 +91,11 @@ BEGIN 10 CONTROL "64x",IDC_RADIOSS4,"Button",BS_AUTORADIOBUTTON,15,146,27, 10 - CONTROL "Shadow",IDC_SHADOW,"Button",BS_AUTOCHECKBOX | + CONTROL "Shadow",IDC_SHADOW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,81,18,42,10 CONTROL "Exclude non selected nodes from lighting",IDC_EXCLUDE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,145,10 - CONTROL "Show Lumel",IDC_SHOWLUMEL,"Button",BS_AUTOCHECKBOX | + CONTROL "Show Lumel",IDC_SHOWLUMEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,91,100,55,10 CONTROL "Export bg color",IDC_EXPORT_BG_COLOR,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,91,115,63,10 @@ -131,28 +131,28 @@ BEGIN GROUPBOX "LOD Root Properties",IDC_STATIC,5,5,172,95 LTEXT "List of lod mesh (ungrowing order):",IDC_STATIC,15,15, 108,10,SS_CENTERIMAGE - LISTBOX IDC_LIST1,15,25,111,70,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | + LISTBOX IDC_LIST1,15,25,111,70,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Add..",IDC_ADD,131,25,40,14 PUSHBUTTON "Remove",IDC_REMOVE,131,39,40,14 PUSHBUTTON "Up",IDC_UP,131,54,40,14 PUSHBUTTON "Down",IDC_DOWN,131,68,40,14 GROUPBOX "LOD Properties",IDC_STATIC,5,105,172,50 - CONTROL "Blend in",IDC_BLEND_IN,"Button",BS_AUTO3STATE | + CONTROL "Blend in",IDC_BLEND_IN,"Button",BS_AUTO3STATE | WS_TABSTOP,15,121,40,10 - CONTROL "Blend out",IDC_BLEND_OUT,"Button",BS_AUTO3STATE | + CONTROL "Blend out",IDC_BLEND_OUT,"Button",BS_AUTO3STATE | WS_TABSTOP,15,130,45,10 - CONTROL "Coarse mesh",IDC_COARSE_MESH,"Button",BS_AUTO3STATE | + CONTROL "Coarse mesh",IDC_COARSE_MESH,"Button",BS_AUTO3STATE | WS_TABSTOP,15,140,55,10 - CONTROL "Dynamic mesh",IDC_DYNAMIC_MESH,"Button",BS_AUTO3STATE | + CONTROL "Dynamic mesh",IDC_DYNAMIC_MESH,"Button",BS_AUTO3STATE | WS_TABSTOP,80,120,60,10 LTEXT "Dist Max:",IDC_STATIC,5,160,45,13,SS_CENTERIMAGE EDITTEXT IDC_DIST_MAX,51,160,45,12,ES_AUTOHSCROLL | ES_NUMBER LTEXT "Blend length:",IDC_STATIC,80,135,45,13,SS_CENTERIMAGE - EDITTEXT IDC_BLEND_LENGTH,125,135,45,12,ES_AUTOHSCROLL | + EDITTEXT IDC_BLEND_LENGTH,125,135,45,12,ES_AUTOHSCROLL | ES_NUMBER GROUPBOX "MRM properties",IDC_STATIC,185,5,172,95 - CONTROL "Active MRM",IDC_ACTIVE_MRM,"Button",BS_AUTO3STATE | + CONTROL "Active MRM",IDC_ACTIVE_MRM,"Button",BS_AUTO3STATE | WS_TABSTOP,195,20,60,10 LTEXT "Skin reduction",IDC_STATIC,195,35,50,10,SS_CENTERIMAGE CONTROL "Min",IDC_SKIN_REDUCTION_MIN,"Button",BS_AUTORADIOBUTTON, @@ -170,12 +170,12 @@ BEGIN LTEXT "Dist middle:",IDC_STATIC,260,65,45,13,SS_CENTERIMAGE EDITTEXT IDC_DIST_MIDDLE,305,65,45,12,ES_AUTOHSCROLL | ES_NUMBER LTEXT "Dist coarsest:",IDC_STATIC,260,80,45,13,SS_CENTERIMAGE - EDITTEXT IDC_DIST_COARSEST,305,80,45,12,ES_AUTOHSCROLL | + EDITTEXT IDC_DIST_COARSEST,305,80,45,12,ES_AUTOHSCROLL | ES_NUMBER GROUPBOX "LOD Bones",IDC_STATIC,185,105,170,45 LTEXT "Disable Distance (0 means always activated) :", IDC_STATIC,190,120,160,10 - EDITTEXT IDC_BONE_LOD_DISTANCE,190,130,45,12,ES_AUTOHSCROLL | + EDITTEXT IDC_BONE_LOD_DISTANCE,190,130,45,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "Export as Lod character (.clod)",IDC_EXPORT_CLOD,"Button", BS_AUTO3STATE | WS_TABSTOP,190,160,150,10 @@ -197,21 +197,21 @@ BEGIN BS_AUTO3STATE | WS_TABSTOP,27,92,71,10 CONTROL "Dynamic Portal",IDC_DYNAMIC_PORTAL,"Button", BS_AUTO3STATE | WS_TABSTOP,27,44,63,10 - CONTROL "Clusterize",IDC_CLUSTERIZE,"Button",BS_AUTO3STATE | + CONTROL "Clusterize",IDC_CLUSTERIZE,"Button",BS_AUTO3STATE | WS_TABSTOP,93,5,46,10 - COMBOBOX IDC_OCC_MODEL,209,30,123,134,CBS_DROPDOWNLIST | + COMBOBOX IDC_OCC_MODEL,209,30,123,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Occlusion model",IDC_STATIC,134,30,68,12,SS_CENTERIMAGE - COMBOBOX IDC_OPEN_OCC_MODEL,209,44,123,116,CBS_DROPDOWNLIST | + COMBOBOX IDC_OPEN_OCC_MODEL,209,44,123,116,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Open portal occlusion model",IDC_STATIC,112,44,89,10, SS_CENTERIMAGE GROUPBOX "Audio properties",IDC_STATIC,105,19,237,141 RTEXT "Sound group",IDC_STATIC,111,86,90,14 - COMBOBOX IDC_ENV_FX,209,106,123,87,CBS_DROPDOWNLIST | WS_VSCROLL | + COMBOBOX IDC_ENV_FX,209,106,123,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Environment FX",IDC_STATIC,112,106,89,10,SS_CENTERIMAGE - COMBOBOX IDC_SOUND_GROUP,209,86,123,101,CBS_DROPDOWN | CBS_SORT | + COMBOBOX IDC_SOUND_GROUP,209,86,123,101,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP CONTROL "Father audible",IDC_FATHER_AUDIBLE,"Button", BS_AUTO3STATE | WS_TABSTOP,210,135,61,10 @@ -240,17 +240,17 @@ BEGIN GROUPBOX "Properties for objects without lightmaps",IDC_STATIC,5, 80,150,60 CONTROL "If checked, use per vertex lighting attenuation else use global lighting attenuation for the object. Doesn't work with per pixel lighting shader.", - IDC_USE_LIGHT_LOCAL_ATTENUATION,"Button",BS_AUTO3STATE | + IDC_USE_LIGHT_LOCAL_ATTENUATION,"Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,15,95,120,41 GROUPBOX "Properties for lights",IDC_STATIC,160,5,185,200 CONTROL "RealTime Light. If set, this light will light scene objects.", - IDC_EXPORT_REALTIME_LIGHT,"Button",BS_AUTO3STATE | + IDC_EXPORT_REALTIME_LIGHT,"Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,170,15,165,20 CONTROL "RealTime Sun Light. If set, this DIRECTIONNAL light will be used as sun light to light scene objects.", - IDC_EXPORT_AS_SUN_LIGHT,"Button",BS_AUTO3STATE | BS_TOP | + IDC_EXPORT_AS_SUN_LIGHT,"Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,170,34,170,25 CONTROL "LightMap Light. If set, this light will be used to compute the lightmaps of the project objects.", - IDC_EXPORT_LIGHTMAP_LIGHT,"Button",BS_AUTO3STATE | + IDC_EXPORT_LIGHTMAP_LIGHT,"Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,170,60,170,20 LTEXT "LightMap Animation Name. This is the name of the animation used to flick the light color.", IDC_STATIC,170,135,170,20 @@ -284,7 +284,7 @@ BEGIN CONTROL "Floating Object",IDC_FLOATING_OBJECT,"Button", BS_AUTO3STATE | WS_TABSTOP,5,5,65,12 GROUPBOX "Ligoscape",IDC_STATIC,5,100,120,45 - CONTROL "Symmetry",IDC_LIGO_SYMMETRY,"Button",BS_AUTO3STATE | + CONTROL "Symmetry",IDC_LIGO_SYMMETRY,"Button",BS_AUTO3STATE | WS_TABSTOP,11,110,44,12 LTEXT "Rotation:",IDC_STATIC,11,125,30,13,SS_CENTERIMAGE EDITTEXT IDC_LIGO_ROTATE,60,126,57,14,ES_AUTOHSCROLL @@ -313,7 +313,7 @@ BEGIN EDITTEXT IDC_EDIT_INTERFACE_THRESHOLD,221,137,110,14, ES_AUTOHSCROLL GROUPBOX "Bone Scale",IDC_STATIC,5,150,120,60 - CONTROL "Enable",IDC_EXPORT_BONE_SCALE,"Button",BS_AUTO3STATE | + CONTROL "Enable",IDC_EXPORT_BONE_SCALE,"Button",BS_AUTO3STATE | WS_TABSTOP,10,160,38,10 LTEXT "Bone Reference Name extension:",IDC_STATIC,10,175,110, 13,SS_CENTERIMAGE @@ -332,7 +332,7 @@ BEGIN EDITTEXT IDC_REMANENCE_SAMPLING_PERIOD,266,190,20,14, ES_AUTOHSCROLL CONTROL "Shift texture at start of animation", - IDC_REMANENCE_SHIFTING_TEXTURE,"Button",BS_AUTOCHECKBOX | + IDC_REMANENCE_SHIFTING_TEXTURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,178,116,9 LTEXT "Rollup ratio :",IDC_ROLLUP_RATIO,290,192,41,8 EDITTEXT IDC_REMANENCE_ROLLUP_RATIO,332,190,16,14,ES_AUTOHSCROLL @@ -342,10 +342,10 @@ IDD_VEGETABLE DIALOG DISCARDABLE 0, 0, 360, 200 STYLE WS_CHILD FONT 8, "MS Sans Serif" BEGIN - CONTROL "Vegetable",IDC_VEGETABLE,"Button",BS_AUTO3STATE | + CONTROL "Vegetable",IDC_VEGETABLE,"Button",BS_AUTO3STATE | WS_TABSTOP,5,5,50,12 CONTROL "Alpha Blend ON (double sided)", - IDC_VEGETABLE_ALPHA_BLEND_ON,"Button",BS_AUTORADIOBUTTON | + IDC_VEGETABLE_ALPHA_BLEND_ON,"Button",BS_AUTORADIOBUTTON | WS_GROUP,21,30,112,15 CONTROL "Alpha Blend OFF",IDC_VEGETABLE_ALPHA_BLEND_OFF,"Button", BS_AUTORADIOBUTTON,20,74,85,15 @@ -394,7 +394,7 @@ BEGIN LTEXT "Name of the instance group where this instance will be inserted. Enter ... to erase all", IDC_STATIC,195,45,160,15 CONTROL "Don't add to scene. If checked, this instance will not be added in the scene.", - IDC_DONT_ADD_TO_SCENE,"Button",BS_AUTO3STATE | + IDC_DONT_ADD_TO_SCENE,"Button",BS_AUTO3STATE | WS_TABSTOP,5,71,255,10 CONTROL "Don't export the shape. If checked, no shape file will be exported from this object.", IDC_DONT_EXPORT,"Button",BS_AUTO3STATE | WS_TABSTOP,5,86, @@ -427,15 +427,15 @@ BEGIN CONTROL "Export note track",IDC_EXPORT_NOTE_TRACK,"Button", BS_AUTO3STATE | WS_TABSTOP,5,50,75,10 CONTROL "Export animated materials", - IDC_EXPORT_ANIMATED_MATERIALS,"Button",BS_AUTO3STATE | + IDC_EXPORT_ANIMATED_MATERIALS,"Button",BS_AUTO3STATE | WS_TABSTOP,5,35,98,10 CONTROL "Export node animation",IDC_EXPORT_NODE_ANIMATION,"Button", BS_AUTO3STATE | WS_TABSTOP,5,5,98,10 CONTROL "Prefixe tracks with node name (Instance name or, if emtpy, node name)", - IDC_EXPORT_ANIMATION_PREFIXE_NAME,"Button",BS_AUTO3STATE | + IDC_EXPORT_ANIMATION_PREFIXE_NAME,"Button",BS_AUTO3STATE | BS_MULTILINE | WS_TABSTOP,5,20,245,10 CONTROL "Allow automatic animation. If the shape is ""obj.shape"", then it will bind ""obj.anim"" automatically.", - IDC_AUTOMATIC_ANIM,"Button",BS_AUTO3STATE | BS_MULTILINE | + IDC_AUTOMATIC_ANIM,"Button",BS_AUTO3STATE | BS_MULTILINE | WS_TABSTOP,5,65,315,10 CONTROL "Export SSS track (Skeleton Spawn Script)", IDC_EXPORT_SSS_TRACK,"Button",BS_AUTO3STATE | WS_TABSTOP, @@ -449,7 +449,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE +GUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_PANEL, DIALOG BEGIN @@ -548,18 +548,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE DISCARDABLE +1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END -2 TEXTINCLUDE DISCARDABLE +2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0" END -3 TEXTINCLUDE DISCARDABLE +3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" @@ -575,8 +575,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 0, 0 - PRODUCTVERSION 0, 11, 0, 0 + FILEVERSION 0, 11, 2, 0 + PRODUCTVERSION 0, 11, 2, 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.0\0" + VALUE "FileVersion", "0.11.2\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.0\0" + VALUE "ProductVersion", "0.11.2\0" VALUE "SpecialBuild", "\0" END END @@ -618,7 +618,7 @@ END // String Table // -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LIBDESCRIPTION "Geometry Export/View" IDS_CATEGORY "Nel Tools" @@ -673,9 +673,9 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP,10,5,105,10 LTEXT "Frequency Scale :",IDC_STATIC,120,5,60,10 LTEXT "Distance Scale :",IDC_STATIC,245,5,60,10 - EDITTEXT IDC_EDIT_VPWT_FREQ_SCALE,190,5,35,12,ES_MULTILINE | + EDITTEXT IDC_EDIT_VPWT_FREQ_SCALE,190,5,35,12,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN - EDITTEXT IDC_EDIT_VPWT_DIST_SCALE,305,5,35,12,ES_MULTILINE | + EDITTEXT IDC_EDIT_VPWT_DIST_SCALE,305,5,35,12,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN GROUPBOX "Level 0 (eg: Tree Trunk)",IDC_STATIC,0,20,355,50 GROUPBOX "Level 1 (eg: branch)",IDC_STATIC,0,75,355,55 @@ -790,7 +790,7 @@ FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,160,240,50,14 PUSHBUTTON "Cancel",IDCANCEL,160,265,50,14 - LISTBOX IDC_LMC_COPY_LIST,5,20,120,260,LBS_SORT | + LISTBOX IDC_LMC_COPY_LIST,5,20,120,260,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP LTEXT "List of objects in LMC mode.",IDC_STATIC,5,10,120,10 CONTROL "Custom1",IDC_LMC_COPY_ALWAYS_DIFFUSE,"ColorSwatch", @@ -829,7 +829,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE +GUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_NODE_PROPERTIES_PANEL, DIALOG BEGIN 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 b6eea41a6..97f4c2143 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 @@ -40,7 +40,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO BEGIN IDD_PANEL, DIALOG BEGIN @@ -59,18 +59,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE +1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE BEGIN "\r\n" "\0" @@ -85,8 +85,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 0, 0 - PRODUCTVERSION 0, 11, 0, 0 + FILEVERSION 0, 11, 2, 0 + PRODUCTVERSION 0, 11, 2, 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.0" + VALUE "FileVersion", "0.11.2" 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.0" + VALUE "ProductVersion", "0.11.2" END END BLOCK "VarFileInfo" @@ -123,7 +123,7 @@ END // String Table // -STRINGTABLE +STRINGTABLE BEGIN IDS_LIBDESCRIPTION "Rykol Patchmesh Converter" IDS_CATEGORY "Rykol Tools" 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 6de328356..5cc109710 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 @@ -345,12 +345,12 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE +1 TEXTINCLUDE BEGIN "modsres.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE BEGIN "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" "#include ""windows.h""\r\n" @@ -359,7 +359,7 @@ BEGIN "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE BEGIN "\r\n" "\0" @@ -439,7 +439,7 @@ IDB_PATCHSELMASK BITMAP "patselm.bmp" // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO BEGIN IDD_PASTE_NAMEDSET, DIALOG BEGIN @@ -565,7 +565,7 @@ IDI_ICON3 ICON "icon3.ico" // String Table // -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_NORMALMOD "NormalMod" IDS_RB_SKEWMOD "SkewMod" @@ -585,7 +585,7 @@ BEGIN IDS_RB_VOLSELECT_CLASS "Vol. Select" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_EDITMESH_CLASS "Edit Mesh" IDS_RB_PARAMETERS "Parameters" @@ -594,7 +594,7 @@ BEGIN IDS_RB_AMOUNT "Amount" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_BEND2 "Bend" IDS_RB_FROM "Lower Limit" @@ -614,7 +614,7 @@ BEGIN IDS_RB_DISPLACEMOD "DisplaceMod" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_NODEXFORM "Linked XForm" IDS_RB_NODEXFORM_CLASS "Linked XForm" @@ -630,7 +630,7 @@ BEGIN IDS_RB_SOT "Supports Objects of Type" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_BIASL2 "Bias L2" IDS_RB_EDITMESHMOD "EditMeshMod" @@ -650,7 +650,7 @@ BEGIN IDS_RB_SMOOTHMOD "SmoothMod" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_EXTRUDE "Extrude" IDS_RB_TAPER "Taper" @@ -663,7 +663,7 @@ BEGIN IDS_RB_APPARATUS "Gizmo" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_FREQUENCY "Frequency" IDS_RB_MAPMOD "MapMod" @@ -683,7 +683,7 @@ BEGIN IDS_RB_BIASL1 "Bias L1" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_AMOUNT2 "Amount" IDS_RB_CURVITURE "Curvature" @@ -697,13 +697,13 @@ BEGIN IDS_DB_EXTRUDE "Extrude" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_RIPPLE "Ripple" IDS_RB_RIPPLE_BINDING "Ripple Binding" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_DELETEVERT "Delete Vertex" IDS_RB_DELETEFACE "Delete Face" @@ -720,7 +720,7 @@ BEGIN IDS_RB_EDGEDIVIDE "Edge Divide" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_EDGETURN "Edge Turn" IDS_RB_DELETEEDGE "Delete Edge" @@ -732,36 +732,36 @@ BEGIN IDS_PW_LATTICE "Lattice Map" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_DEFDEFORMATIONS "MAX STANDARD" IDS_RB_DEFEDIT "MAX EDIT" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_DEFLECTOR_CLASS "Deflector" IDS_RB_HIDEVERT "Hide Vertices" IDS_RB_DEFSURFACE "MAX SURFACE" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_NOISE "Noise" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_ROTATION2 "Rotation" IDS_RB_TWIST "Twist" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_BENDMOD "BendMod" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_DISPLACEBINDING "Displace Binding" IDS_RB_SELECTDISPIMAGE "Select Displacement Image" @@ -781,7 +781,7 @@ BEGIN IDS_RB_TURBULENCE "Turbulence" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_SKEW_CLASS "Skew" IDS_RB_MATERIAL3_CLASS "Material" @@ -800,7 +800,7 @@ BEGIN IDS_RB_WAVE_CLASS "Wave" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_STRENGTH2 "Strength" IDS_DS_MOVE "Move" @@ -809,7 +809,7 @@ BEGIN IDS_RB_ELEMENTSEL "Element" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_NOVERTSTOWELD "No vertices within weld threshold." IDS_RB_CHAOS "Chaos" @@ -819,24 +819,24 @@ BEGIN IDS_RB_DUPFACEWARNING "This face already exists." END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_NONE "None" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_SCALE "Scale" END -STRINGTABLE +STRINGTABLE BEGIN IDS_DS_MOVE2 "Move" IDS_DS_SELECT "Select" IDS_DS_CREATE "Create" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_VERTDELETE "Delete Vertex" IDS_TH_BEZIERCORNER "Bezier Corner" @@ -848,7 +848,7 @@ BEGIN IDS_TH_NOPATCHESSEL "No patches selected" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_EDGESUBDIVIDE "Edge Subdivide" IDS_TH_PATCHSUBDIVIDE "Patch Subdivide" @@ -863,16 +863,16 @@ BEGIN IDS_TH_CONNECT_COINCIDENT "Weld coincident endpoints?" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_BOOLWELDFAILED "ERROR: Final boolean weld stage failed" IDS_TH_COINCIDENTVERTEX "Cannot perform boolean because splines have coincident vertices" - IDS_TH_SPLINESMUSTOVERLAP + IDS_TH_SPLINESMUSTOVERLAP "Cannot perform boolean because splines must overlap" IDS_TH_SELECTCLOSEDSPLINE "Please select a closed spline" IDS_TH_SPLINESELFINTERSECTS "Spline is invalid: Self-intersects" IDS_TH_ATTACH "Attach" - IDS_TH_CANHAVEONLYONESHAPE + IDS_TH_CANHAVEONLYONESHAPE "Can only have one shape in modifier for this operation" IDS_TH_NOVERTSSEL "No vertices selected" IDS_TH_VERTCHANGE "Vertex Change" @@ -885,7 +885,7 @@ BEGIN IDS_TH_LINE "Line" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_MAKEFIRST "Make First" IDS_TH_EDITEDGE "Edit Edge" @@ -896,7 +896,7 @@ BEGIN IDS_TH_PATCHADD "Patch Add" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_EDITSPLINE "Edit Spline" IDS_TH_EDITSEGMENT "Edit Segment" @@ -907,7 +907,7 @@ BEGIN IDS_TH_EDITOBJECT "Edit Object" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_DETACHSPLINE "Detach Spline" IDS_TH_OUTLINE "Outline Spline" @@ -927,9 +927,9 @@ BEGIN IDS_TH_INTERSECTION "Intersection" END -STRINGTABLE +STRINGTABLE BEGIN - IDS_TH_CANHAVEONLYONEPATCH + IDS_TH_CANHAVEONLYONEPATCH "Can only have one patch object in modifier for this operation" IDS_TH_DETACHPATCH "Detach Patch" IDS_TH_COPY_SPLINE "Copy Spline" @@ -937,7 +937,7 @@ BEGIN IDS_TH_SPLINECHANGE "Spline Change" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_EDITPATCH_CLASS "NeL Edit" IDS_TH_EDITSPLINE_CLASS "Edit Spline" @@ -957,7 +957,7 @@ BEGIN IDS_TH_NOSEGSSEL "No segments selected" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_DEGREES "Degrees" IDS_TH_AXIS "Axis" @@ -968,12 +968,12 @@ BEGIN IDS_RB_STARTPOINT "Start Point" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_MIRRORSPLINE "Mirror Spline" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_ENDPOINT "End Point" IDS_RB_AFRPOINTS "Points" @@ -993,7 +993,7 @@ BEGIN IDS_RB_VOFFSET "V Offset" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_WOFFSET "W Offset" IDS_RB_MAXEDGE1 "Max Edge Length 1" @@ -1013,14 +1013,14 @@ BEGIN IDS_RB_SHOULDRESET "Do you also want to reset the Unwrap UVW modifier\nto inherit the mapping from the new channel?\n\nChanges made within the UVW modifier will be lost." END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_NUMVERTSELP "%d Vertices Selected" IDS_RB_NUMFACESELP "%d Faces Selected" IDS_RB_NUMEDGESELP "%d Edges Selected" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_RESETUNWRAPUVWS "Are you sure you want to reset?\n\nAll changes made within the Unwrap UVW modifier will be lost." IDS_RB_LENGTH "Length" @@ -1040,7 +1040,7 @@ BEGIN IDS_RB_ZOOMREG "Zoom Region" END -STRINGTABLE +STRINGTABLE BEGIN IDS_RB_UVW "Coordinates" IDS_RB_PROP "Unwrap Options" @@ -1060,10 +1060,10 @@ BEGIN IDS_EM_SHAPE "Shape" END -STRINGTABLE +STRINGTABLE BEGIN IDS_ADV_SURF_APPROX_WARNING_TITLE "Surface Approximation Verification" - IDS_ADV_SURF_APPROX_WARNING + IDS_ADV_SURF_APPROX_WARNING "You have selected a potentially dangerous setting for the SubDivision limits. Are you sure you want to do this?" IDS_PW_PICK "Pick Texture" IDS_PW_SNAP "Pixel Snap" @@ -1079,7 +1079,7 @@ BEGIN IDS_PW_FALLOFF "Falloff type" END -STRINGTABLE +STRINGTABLE BEGIN IDS_EM_SELBYCOLOR "Select By Color" IDS_EM_VERTEXCOLOR "Vertex Color" @@ -1099,7 +1099,7 @@ BEGIN IDS_EM_DETACHFACES "Detach Faces" END -STRINGTABLE +STRINGTABLE BEGIN IDS_EM_DETACHVERTS "Detach Verts" IDS_EM_INHERIT_MATERIAL "Inherit Material" @@ -1119,7 +1119,7 @@ BEGIN IDS_TH_SPLINE_VERT_COUNT "Vertex Count: %d" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_SELECTION "Selection" IDS_TH_OBJECT_SEL "Whole Object Selected" @@ -1139,17 +1139,17 @@ BEGIN IDS_TH_CROSS_INSERT "Cross Insert" END -STRINGTABLE +STRINGTABLE BEGIN IDS_EM_BEVEL "Bevel" IDS_EM_OUTLINE "Outline" - IDS_ADV_DISP_APPROX_WARNING_TITLE + IDS_ADV_DISP_APPROX_WARNING_TITLE "Displacement Approximation Verification" - IDS_ADV_DISP_APPROX_WARNING + IDS_ADV_DISP_APPROX_WARNING "You have selected a potential dangerous setting for the SubDivision limits. Are you sure you want to do this?" END -STRINGTABLE +STRINGTABLE BEGIN IDS_PW_FALLOFFSPACE "World Falloff Space" IDS_PW_BREAK "Break Selected Vertices" @@ -1169,7 +1169,7 @@ BEGIN IDS_PW_TEXMAP "TextureMap" END -STRINGTABLE +STRINGTABLE BEGIN IDS_PW_CHANNEL "Map Channel" IDS_PW_MAP "Map Channel Type" @@ -1181,9 +1181,9 @@ BEGIN IDS_PW_FALLOFF2 "Falloff" END -STRINGTABLE +STRINGTABLE BEGIN - IDS_TH_CROSS_NOT_IN_THRESHOLD + IDS_TH_CROSS_NOT_IN_THRESHOLD "Crossing lines not within specified threshold" IDS_TH_EDGEDELETE "Delete Edge" IDS_TH_NOEDGESSEL "No edges selected" @@ -1200,7 +1200,7 @@ BEGIN IDS_TH_OPEN "Open" END -STRINGTABLE +STRINGTABLE BEGIN IDS_TH_CLOSED "Closed" IDS_EM_ATTACH_LIST "Attach List" @@ -1220,7 +1220,7 @@ BEGIN IDS_PW_SCALEV "Scale Vertical" END -STRINGTABLE +STRINGTABLE BEGIN IDS_PW_WELDSELECTED "Weld Selected" IDS_PW_APPLYPLANAR "Apply Planar" @@ -1240,7 +1240,7 @@ BEGIN IDS_PW_UNHIDEALL "Unhide All" END -STRINGTABLE +STRINGTABLE BEGIN IDS_PW_FREEZE_SELECTED "Freeze Selected" IDS_PW_UNFREEZEALL "Unfreeze All" @@ -1249,7 +1249,7 @@ BEGIN IDS_PW_SCALE_UVW "Scale UVWs" IDS_PW_WELD_UVW "Weld UVWs" IDS_PW_LINECOLOR "Line Color" - IDS_RB_UNSUPPORTED_MAP_TYPE + IDS_RB_UNSUPPORTED_MAP_TYPE "The Displace modifier does not support the mapping type that has been selected to acquire." IDS_MM_ACQ_MAPPING "Aquire Mapping" IDS_PARAM_CHANGE "Parameter Change" @@ -1261,7 +1261,7 @@ BEGIN IDS_PW_MOUSE_CONSTRAIN "SHIFT constrains the mouse to X/Y" END -STRINGTABLE +STRINGTABLE BEGIN IDS_PW_MOUSE_SELECTTV "Select texture vertices" IDS_PW_MOUSE_SELECTTRI "SHIFT selects triangle faces" 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 507d36ab5..62e7fa34f 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 @@ -34,7 +34,7 @@ STYLE WS_CHILD FONT 8, "MS Sans Serif" BEGIN CONTROL "Paint",IDC_PAINT,"CustButton",WS_TABSTOP,7,5,38,19 - CONTROL "Meshes",IDC_INCLUDE_MESHES,"Button",BS_AUTOCHECKBOX | + CONTROL "Meshes",IDC_INCLUDE_MESHES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,50,5,45,10 CONTROL "Preload Tiles",IDC_PRELOAD_TILES,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,50,15,50,10 @@ -47,12 +47,12 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE DISCARDABLE +1 TEXTINCLUDE DISCARDABLE BEGIN "modsres.h\0" END -2 TEXTINCLUDE DISCARDABLE +2 TEXTINCLUDE DISCARDABLE BEGIN "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" "#include ""windows.h""\r\n" @@ -61,7 +61,7 @@ BEGIN "\0" END -3 TEXTINCLUDE DISCARDABLE +3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" @@ -76,7 +76,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE +GUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_EDPATCH_OPS, DIALOG BEGIN @@ -96,8 +96,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 1, 0 - PRODUCTVERSION 0, 11, 1, 0 + FILEVERSION 0, 11, 2, 0 + PRODUCTVERSION 0, 11, 2, 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.1\0" + VALUE "FileVersion", "0.11.2\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.1\0" + VALUE "ProductVersion", "0.11.2\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 4e70d1afc..4fce83b64 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 @@ -72,7 +72,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE +GUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_PANEL, DIALOG BEGIN @@ -90,18 +90,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE DISCARDABLE +1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END -2 TEXTINCLUDE DISCARDABLE +2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0" END -3 TEXTINCLUDE DISCARDABLE +3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" @@ -125,8 +125,8 @@ IDC_DROPPER_CURSOR CURSOR DISCARDABLE "dropcurs.cur" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 0, 0 - PRODUCTVERSION 0, 11, 0, 0 + FILEVERSION 0, 11, 2, 0 + PRODUCTVERSION 0, 11, 2, 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.0\0" + VALUE "FileVersion", "0.11.2\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.0\0" + VALUE "ProductVersion", "0.11.2\0" END END BLOCK "VarFileInfo" @@ -179,11 +179,11 @@ IDB_BUTTON_MASK BITMAP DISCARDABLE "buttonmask.bmp" IDD_PANEL DLGINIT BEGIN IDC_COMBO_TYPE, 0x403, 10, 0 -0x6e49, 0x6574, 0x736e, 0x7469, 0x0079, +0x6e49, 0x6574, 0x736e, 0x7469, 0x0079, IDC_COMBO_TYPE, 0x403, 14, 0 -0x6850, 0x7361, 0x2065, 0x654c, 0x6576, 0x206c, 0x0031, +0x6850, 0x7361, 0x2065, 0x654c, 0x6576, 0x206c, 0x0031, IDC_COMBO_TYPE, 0x403, 14, 0 -0x6850, 0x7361, 0x2065, 0x654c, 0x6576, 0x206c, 0x0032, +0x6850, 0x7361, 0x2065, 0x654c, 0x6576, 0x206c, 0x0032, 0 END @@ -193,7 +193,7 @@ END // String Table // -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LIBDESCRIPTION "Vertex tree painting modifier (Kinetix/Nel)" IDS_CATEGORY "NeL Tools" 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 80d1d390d..003d1639c 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 @@ -31,7 +31,7 @@ STYLE WS_CHILD | WS_VISIBLE FONT 8, "MS Sans Serif" BEGIN PUSHBUTTON "Button1",IDC_BANK_PATH,5,5,95,14 - COMBOBOX IDC_LAND,5,25,95,75,CBS_DROPDOWNLIST | CBS_SORT | + COMBOBOX IDC_LAND,5,25,95,75,CBS_DROPDOWNLIST | CBS_SORT | WS_DISABLED | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Setup material",IDC_SETUP,20,80,70,15,WS_DISABLED LTEXT "Static",IDC_TILE_COUNT1,10,45,85,8 @@ -56,9 +56,9 @@ BEGIN CONTROL "",IDC_MAPON2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,201, 38,8,10 GROUPBOX "Alpha From:",IDC_STATIC,23,66,89,57 - CONTROL "Map #1",IDC_MULT_ALPHA1,"Button",BS_AUTORADIOBUTTON | + CONTROL "Map #1",IDC_MULT_ALPHA1,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,36,77,41,10 - CONTROL "Map #2",IDC_MULT_ALPHA2,"Button",BS_AUTORADIOBUTTON | + CONTROL "Map #2",IDC_MULT_ALPHA2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,36,91,41,10 CONTROL "Multiply Alphas",IDC_MULT_ALPHA3,"Button", BS_AUTORADIOBUTTON | WS_TABSTOP,36,106,63,10 @@ -73,7 +73,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE +GUIDELINES DESIGNINFO DISCARDABLE BEGIN IDD_PANEL, DIALOG BEGIN @@ -97,18 +97,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE DISCARDABLE +1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END -2 TEXTINCLUDE DISCARDABLE +2 TEXTINCLUDE DISCARDABLE BEGIN "#include ""afxres.h""\r\n" "\0" END -3 TEXTINCLUDE DISCARDABLE +3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0" @@ -124,8 +124,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0, 11, 0, 0 - PRODUCTVERSION 0, 11, 0, 0 + FILEVERSION 0, 11, 2, 0 + PRODUCTVERSION 0, 11, 2, 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.0\0" + VALUE "FileVersion", "0.11.2\0" VALUE "InternalName", "Tile_utility\0" VALUE "LegalCopyright", "\0" VALUE "OriginalFilename", "Tile_utility.dlu\0" VALUE "ProductName", "Ryzom Core\0" - VALUE "ProductVersion", "0.11.0\0" + VALUE "ProductVersion", "0.11.2\0" VALUE "FileDescription", "Create material for tiles\0" VALUE "Comments", "TECH: \0" VALUE "LegalTrademarks", "\0" @@ -167,7 +167,7 @@ END // String Table // -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LIBDESCRIPTION "Create material for tiles" IDS_CATEGORY "Rykol Tools" @@ -177,7 +177,7 @@ BEGIN IDS_COLOR1 "Color 1" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_PHASE "Phase" IDS_DS_AMBIENT "Ambient Color" @@ -185,7 +185,7 @@ BEGIN IDS_DS_SPECULAR "Specular Color" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_WIREFRAME "Wire" IDS_DS_SHININESS "Glossiness" @@ -203,7 +203,7 @@ BEGIN IDS_GRAD_TYPE "Gradient Type" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_JW_MAPENABLES "Map Enables" IDS_DS_THRESH "Position" @@ -223,7 +223,7 @@ BEGIN IDS_DS_ANGLE "Angle" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_COLOR1 "Color 1" IDS_DS_COLOR2 "Color 2" @@ -243,7 +243,7 @@ BEGIN IDS_DS_MIXAMT "Mix Amount" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_SHRINK_ENV "Shrink-wrap Environment" IDS_DS_SCREEN "Screen" @@ -263,7 +263,7 @@ BEGIN IDS_JW_MAPS "Maps" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_JW_MAPAMOUNTS "Map Amounts" IDS_DS_MATTE_SHADOW_PAR "Matte/Shadow Basic Parameters" @@ -280,7 +280,7 @@ BEGIN IDS_JW_SAMPLERBYNAME "Sampler Name" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_NOISEPARMS "Noise Parameters" IDS_DS_MIXPARMS "Mix Parameters" @@ -300,7 +300,7 @@ BEGIN IDS_DS_CYL_ENV "Cylindrical Environment" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_XLABEL "X:" IDS_DS_YLABEL "Y:" @@ -311,7 +311,7 @@ BEGIN IDS_DS_BITMAP_TEXTURE_ERR "Bitmap Texture Error" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_RB_NOISE "Noise" IDS_RB_MULTISUBOBJECT "Multi/Sub-Object" @@ -320,7 +320,7 @@ BEGIN IDS_RB_BACK "Back" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_RB_FACING "Facing" IDS_RB_MASK "Mask" @@ -340,7 +340,7 @@ BEGIN IDS_RB_CENTER2 "Color 2 Position" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_RB_HIGHTHRESHOLD "High Threshold" IDS_RB_LOWTHRESHOLD "Low Threshold" @@ -360,12 +360,12 @@ BEGIN IDS_DS_BOTTOM "Bottom" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_RB_AMOUNT "Amount" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_RB_CURVITURE "Curvature" IDS_RB_AMPLITUDE "Amplitude" @@ -374,13 +374,13 @@ BEGIN IDS_RB_DECAY "Decay" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_RB_LOWTHRESH "Low Threshold" IDS_RB_HIGHTHRESH "High Threshold" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_MARBLE "Marble" IDS_DS_MIX "Mix" @@ -400,7 +400,7 @@ BEGIN IDS_DS_CHECKER "Checker" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_NONE "None" IDS_DS_TRANS "Opacity" @@ -420,12 +420,12 @@ BEGIN IDS_DS_CLIPV "Clip V Offset" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_PARAMCHG "Param Change" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_CLIPW "Clip U Width" IDS_DS_CLIPH "Clip V Width" @@ -445,7 +445,7 @@ BEGIN IDS_DS_FALLOFF "Falloff" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_FALLOFFPARAMS "Falloff Parameters" IDS_DS_PERVAL "Perpendicular Value:" @@ -465,7 +465,7 @@ BEGIN IDS_DS_PLATE_PARAMS "Thin Wall Refraction Parameters" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_THICKFACT "Thickness Offset" IDS_DS_REFRAMT "Bump Map Effect" @@ -485,7 +485,7 @@ BEGIN IDS_DS_GREEN "Green" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_BLUE "Blue" IDS_DS_SOFTEN "Soften Level" @@ -505,7 +505,7 @@ BEGIN IDS_KE_OREN_NAYAR_BLINN "Oren-Nayar-Blinn" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_KE_DIFF_LEVEL "Diffuse Level" IDS_KE_DIFF_ROUGH "Diff. Roughness" @@ -525,7 +525,7 @@ BEGIN IDS_KE_COLOR "Color" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_KE_ANISOTROPY "Anisotropy" IDS_KE_ORIENTATION "Orientation" @@ -545,7 +545,7 @@ BEGIN IDS_KE_GLOSS1 "Glossiness 1" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_KE_GLOSS2 "Glossiness 2" IDS_KE_ANISO1 "Anisotropy 1" @@ -565,7 +565,7 @@ BEGIN IDS_JW_APPLYREFDIM "Apply Reflection Dimming" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_JW_PIXELSAMPLER "Pixel Sampler" IDS_JW_SAMPLERQUAL "Sampler Quality" @@ -585,7 +585,7 @@ BEGIN IDS_RB_BLENDMAT_CDESC "Blend" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_DS_MIX_CDESC "Mix" IDS_DS_FLATMIRROR_CDESC "Flat Mirror" @@ -602,7 +602,7 @@ BEGIN IDS_JW_ADTEXLOCK "Ambient-Diffuse Texture Lock" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_JW_ADLOCK "Ambient-Diffuse Lock" IDS_JW_DSLOCK "Diffuse-Specular Lock" @@ -621,7 +621,7 @@ BEGIN IDS_PW_APPLYATMOS "ApplyAtmosphere" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_PW_ATMOSDEPTH "AtmossphereDepth" IDS_PW_RECEIVESHADOWS "RecieveShadows" @@ -641,7 +641,7 @@ BEGIN IDS_PW_STARTTIME "StartTime" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_PW_PLAYBACK "PlayBackRate" IDS_PW_ENDCONDITION "EndCondition" @@ -661,7 +661,7 @@ BEGIN IDS_PW_APPLYBLUR "ApplyBlur" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_KE_FACETED "Faceted" IDS_KE_ORIENTATION1 "Orientation 1" @@ -680,7 +680,7 @@ BEGIN IDS_PW_MAT "Mat." END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN IDS_PW_BASE "Base" IDS_DS_USEREFL "UseReflMap" @@ -695,7 +695,7 @@ BEGIN IDS_ACUBIC_SELECT_INPUT_FILE "Select Input Reflection Map" END -STRINGTABLE DISCARDABLE +STRINGTABLE DISCARDABLE BEGIN 65505 "RGB Level" 65506 "RGB Offset" diff --git a/code/web/public_php/ams/templates/layout.tpl b/code/web/public_php/ams/templates/layout.tpl index 33dbf3be0..fb29b4468 100644 --- a/code/web/public_php/ams/templates/layout.tpl +++ b/code/web/public_php/ams/templates/layout.tpl @@ -140,7 +140,7 @@ {if isset($smarty.get.page) and $smarty.get.page eq 'layout_plugin' and $smarty.get.name eq $arrkey} {include file=$hook_info[$smarty.get.name]['TemplatePath']} {/if} - {/foreach} + {/foreach} {/if} @@ -167,7 +167,7 @@
- {if $permission > 1}

AMS 0.11.0 Powered by: Charisma

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

AMS 0.11.2 Powered by: Charisma

{/if}
{/if} From cb298d556b9dc86f2b4a85a765ed6c8f109fa8e5 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 23:38:37 +0100 Subject: [PATCH 18/73] Add script to increment version numbers --HG-- branch : hotfix --- .../increment_version/increment_version.py | 162 ++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 code/tool/increment_version/increment_version.py diff --git a/code/tool/increment_version/increment_version.py b/code/tool/increment_version/increment_version.py new file mode 100644 index 000000000..0be81269f --- /dev/null +++ b/code/tool/increment_version/increment_version.py @@ -0,0 +1,162 @@ +# +# Copyright (c) 2015 Jan Boon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +import fileinput +import os + +os.chdir('../../') +RootDir = os.getcwd(); + +MajorVersion = 0 +MinorVersion = 11 +PatchVersion = 2 +Revision = 0 + +VersionString = str(MajorVersion) + "." + str(MinorVersion) + "." + str(PatchVersion) +VersionComma = str(MajorVersion) + ", " + str(MinorVersion) + ", " + str(PatchVersion) + ", " + str(Revision) + +for line in fileinput.input("CMakeLists.txt", inplace = True): + if ("# Version" in line): + print "# Version: " + VersionString + elif ("SET(NL_VERSION_MAJOR" in line): + print "SET(NL_VERSION_MAJOR " + str(MajorVersion) + ")" + elif ("SET(NL_VERSION_MINOR" in line): + print "SET(NL_VERSION_MINOR " + str(MinorVersion) + ")" + elif ("SET(NL_VERSION_PATCH" in line): + print "SET(NL_VERSION_PATCH " + str(PatchVersion) + ")" + else: + print line.rstrip() + +os.chdir(RootDir) +os.chdir("web/public_php/ams/templates/") + +for line in fileinput.input("layout.tpl", inplace = True): + if (" Powered by: " in line): + print "\t\t\t{if $permission > 1}

AMS " + VersionString + " Powered by: Charisma

{/if}" + else: + print line.rstrip() + +os.chdir(RootDir) +os.chdir("ryzom/common/src/game_share/") + +for line in fileinput.input("ryzom_version.h", inplace = True): + if (("\"v" in line) and (" \\" in line)): + print "\t\"v" + VersionString + "\" \\" + else: + print line.rstrip() + +os.chdir(RootDir) +os.chdir("nel/tools/3d/plugin_max/") +os.chdir("nel_export") + +for line in fileinput.input("nel_export.rc", inplace = True): + if ("FILEVERSION" in line): + print " FILEVERSION " + VersionComma + elif ("PRODUCTVERSION" in line): + print " PRODUCTVERSION " + VersionComma + elif (("FileVersion" in line) and ("VALUE" in line)): + print " VALUE \"FileVersion\", \"" + VersionString + "\\0\"" + elif (("ProductVersion" in line) and ("VALUE" in line)): + print " VALUE \"ProductVersion\", \"" + VersionString + "\\0\"" + else: + print line.rstrip() + +os.chdir("..") +os.chdir("nel_patch_converter") + +for line in fileinput.input("nel_patch_converter.rc", inplace = True): + if ("FILEVERSION" in line): + print " FILEVERSION " + VersionComma + elif ("PRODUCTVERSION" in line): + print " PRODUCTVERSION " + VersionComma + elif (("FileVersion" in line) and ("VALUE" in line)): + print " VALUE \"FileVersion\", \"" + VersionString + "\"" + elif (("ProductVersion" in line) and ("VALUE" in line)): + print " VALUE \"ProductVersion\", \"" + VersionString + "\"" + else: + print line.rstrip() + +os.chdir("..") +os.chdir("nel_patch_edit") + +for line in fileinput.input("mods.rc", inplace = True): + if ("FILEVERSION" in line): + print " FILEVERSION " + VersionComma + elif ("PRODUCTVERSION" in line): + print " PRODUCTVERSION " + VersionComma + elif (("FileVersion" in line) and ("VALUE" in line)): + print " VALUE \"FileVersion\", \"" + VersionString + "\"" + elif (("ProductVersion" in line) and ("VALUE" in line)): + print " VALUE \"ProductVersion\", \"" + VersionString + "\"" + else: + print line.rstrip() + +os.chdir("..") +os.chdir("nel_patch_paint") + +for line in fileinput.input("nel_patch_paint.rc", inplace = True): + if ("FILEVERSION" in line): + print " FILEVERSION " + VersionComma + elif ("PRODUCTVERSION" in line): + print " PRODUCTVERSION " + VersionComma + elif (("FileVersion" in line) and ("VALUE" in line)): + print " VALUE \"FileVersion\", \"" + VersionString + "\\0\"" + elif (("ProductVersion" in line) and ("VALUE" in line)): + print " VALUE \"ProductVersion\", \"" + VersionString + "\\0\"" + else: + print line.rstrip() + +os.chdir("..") +os.chdir("nel_vertex_tree_paint") + +for line in fileinput.input("vertex_tree_paint.rc", inplace = True): + if ("FILEVERSION" in line): + print " FILEVERSION " + VersionComma + elif ("PRODUCTVERSION" in line): + print " PRODUCTVERSION " + VersionComma + elif (("FileVersion" in line) and ("VALUE" in line)): + print " VALUE \"FileVersion\", \"" + VersionString + "\\0\"" + elif (("ProductVersion" in line) and ("VALUE" in line)): + print " VALUE \"ProductVersion\", \"" + VersionString + "\\0\"" + else: + print line.rstrip() + +os.chdir("..") +os.chdir("tile_utility") + +for line in fileinput.input("tile_utility.rc", inplace = True): + if ("FILEVERSION" in line): + print " FILEVERSION " + VersionComma + elif ("PRODUCTVERSION" in line): + print " PRODUCTVERSION " + VersionComma + elif (("FileVersion" in line) and ("VALUE" in line)): + print " VALUE \"FileVersion\", \"" + VersionString + "\\0\"" + elif (("ProductVersion" in line) and ("VALUE" in line)): + print " VALUE \"ProductVersion\", \"" + VersionString + "\\0\"" + else: + print line.rstrip() + +# end of file From d788d224d5e0c819e5ac7e9c78f795ab41a3fa46 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 23:39:53 +0100 Subject: [PATCH 19/73] EOL --HG-- branch : develop --- code/web/public_php/ams/templates/layout.tpl | 634 +++++++++---------- 1 file changed, 317 insertions(+), 317 deletions(-) diff --git a/code/web/public_php/ams/templates/layout.tpl b/code/web/public_php/ams/templates/layout.tpl index 33dbf3be0..9bcaa83e6 100644 --- a/code/web/public_php/ams/templates/layout.tpl +++ b/code/web/public_php/ams/templates/layout.tpl @@ -1,317 +1,317 @@ - - - - - - {$ams_title} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} - - {/if} -
-
- {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} - - - - - - -
- - {/if} - - {if isset($no_visible_elements) and $no_visible_elements eq "TRUE"} - -
- - -
- - {/if} - - {block name=content}{/block} - {if isset($hook_info)} -
- {foreach from=$hook_info key=arrkey item=element} - {if isset($smarty.get.page) and $smarty.get.page eq 'layout_plugin' and $smarty.get.name eq $arrkey} - {include file=$hook_info[$smarty.get.name]['TemplatePath']} - {/if} - {/foreach} -
- {/if} - - - {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} -
- {/if} -
- {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} -
- - - -
- {if $permission > 1}

AMS 0.11.0 Powered by: Charisma

{/if} -
- {/if} -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + {$ams_title} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} + + {/if} +
+
+ {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} + + + + + + +
+ + {/if} + + {if isset($no_visible_elements) and $no_visible_elements eq "TRUE"} + +
+ + +
+ + {/if} + + {block name=content}{/block} + {if isset($hook_info)} +
+ {foreach from=$hook_info key=arrkey item=element} + {if isset($smarty.get.page) and $smarty.get.page eq 'layout_plugin' and $smarty.get.name eq $arrkey} + {include file=$hook_info[$smarty.get.name]['TemplatePath']} + {/if} + {/foreach} +
+ {/if} + + + {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} +
+ {/if} +
+ {if ! isset($no_visible_elements) or $no_visible_elements eq "FALSE"} +
+ + + +
+ {if $permission > 1}

AMS 0.11.0 Powered by: Charisma

{/if} +
+ {/if} +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 621a9e8f7c2cc17893d62ec5e3174497de777b7e Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 23:53:34 +0100 Subject: [PATCH 20/73] ryzomcore/v0.11.3 --HG-- branch : hotfix --- code/CMakeLists.txt | 4 ++-- code/nel/tools/3d/plugin_max/nel_export/nel_export.rc | 8 ++++---- .../plugin_max/nel_patch_converter/nel_patch_converter.rc | 8 ++++---- code/nel/tools/3d/plugin_max/nel_patch_edit/mods.rc | 8 ++++---- .../3d/plugin_max/nel_patch_paint/nel_patch_paint.rc | 8 ++++---- .../plugin_max/nel_vertex_tree_paint/vertex_tree_paint.rc | 8 ++++---- code/nel/tools/3d/plugin_max/tile_utility/tile_utility.rc | 8 ++++---- code/ryzom/common/src/game_share/ryzom_version.h | 2 +- code/tool/increment_version/increment_version.py | 2 +- code/web/public_php/ams/templates/layout.tpl | 2 +- 10 files changed, 29 insertions(+), 29 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index dcc9f9c93..7a4f0b4c5 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.2 +# Version: 0.11.3 # # Notes: # * Changing install location: add -DCMAKE_INSTALL_PREFIX:PATH=/my/new/path @@ -48,7 +48,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(RyzomCore CXX C) SET(NL_VERSION_MAJOR 0) SET(NL_VERSION_MINOR 11) -SET(NL_VERSION_PATCH 2) +SET(NL_VERSION_PATCH 3) SET(NL_VERSION "${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}.${NL_VERSION_PATCH}") #----------------------------------------------------------------------------- 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 b5eaa964d..31a258fb9 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, 2, 0 - PRODUCTVERSION 0, 11, 2, 0 + FILEVERSION 0, 11, 3, 0 + PRODUCTVERSION 0, 11, 3, 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.2\0" + VALUE "FileVersion", "0.11.3\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.2\0" + VALUE "ProductVersion", "0.11.3\0" VALUE "SpecialBuild", "\0" END END 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 97f4c2143..068bddea0 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, 2, 0 - PRODUCTVERSION 0, 11, 2, 0 + FILEVERSION 0, 11, 3, 0 + PRODUCTVERSION 0, 11, 3, 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.2" + VALUE "FileVersion", "0.11.3" 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.2" + VALUE "ProductVersion", "0.11.3" 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 5cc109710..d49d40a82 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, 2, 0 - PRODUCTVERSION 0, 11, 2, 0 + FILEVERSION 0, 11, 3, 0 + PRODUCTVERSION 0, 11, 3, 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.2" + VALUE "FileVersion", "0.11.3" 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.2" + VALUE "ProductVersion", "0.11.3" 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 62e7fa34f..6b8d7f88e 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, 2, 0 - PRODUCTVERSION 0, 11, 2, 0 + FILEVERSION 0, 11, 3, 0 + PRODUCTVERSION 0, 11, 3, 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.2\0" + VALUE "FileVersion", "0.11.3\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.2\0" + VALUE "ProductVersion", "0.11.3\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 4fce83b64..8620d6170 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, 2, 0 - PRODUCTVERSION 0, 11, 2, 0 + FILEVERSION 0, 11, 3, 0 + PRODUCTVERSION 0, 11, 3, 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.2\0" + VALUE "FileVersion", "0.11.3\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.2\0" + VALUE "ProductVersion", "0.11.3\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 003d1639c..315747354 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, 2, 0 - PRODUCTVERSION 0, 11, 2, 0 + FILEVERSION 0, 11, 3, 0 + PRODUCTVERSION 0, 11, 3, 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.2\0" + VALUE "FileVersion", "0.11.3\0" VALUE "InternalName", "Tile_utility\0" VALUE "LegalCopyright", "\0" VALUE "OriginalFilename", "Tile_utility.dlu\0" VALUE "ProductName", "Ryzom Core\0" - VALUE "ProductVersion", "0.11.2\0" + VALUE "ProductVersion", "0.11.3\0" VALUE "FileDescription", "Create material for tiles\0" VALUE "Comments", "TECH: \0" VALUE "LegalTrademarks", "\0" diff --git a/code/ryzom/common/src/game_share/ryzom_version.h b/code/ryzom/common/src/game_share/ryzom_version.h index 915f9ed1c..9b4fa3f07 100644 --- a/code/ryzom/common/src/game_share/ryzom_version.h +++ b/code/ryzom/common/src/game_share/ryzom_version.h @@ -19,7 +19,7 @@ #define RYZOM_VERSION "ryzomcore" \ "/" \ - "v0.11.2" \ + "v0.11.3" \ "" #endif // RYZOM_VERSION_H diff --git a/code/tool/increment_version/increment_version.py b/code/tool/increment_version/increment_version.py index 0be81269f..43afec9ee 100644 --- a/code/tool/increment_version/increment_version.py +++ b/code/tool/increment_version/increment_version.py @@ -32,7 +32,7 @@ RootDir = os.getcwd(); MajorVersion = 0 MinorVersion = 11 -PatchVersion = 2 +PatchVersion = 3 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 fb29b4468..94cf0b4dd 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.2 Powered by: Charisma

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

AMS 0.11.3 Powered by: Charisma

{/if}
{/if} From 86f24a00b7d085b74af9f6b1d6127698f588dff2 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 23:56:49 +0100 Subject: [PATCH 21/73] EOL --HG-- branch : hotfix --- .../ams_lib/ingame_templates/settings.tpl | 322 ++++---- .../ams/ingame_templates/register.tpl | 236 +++--- .../ams/ingame_templates/settings.tpl | 494 +++++------ .../admin/templates/default/index_login.tpl | 50 +- .../admin/templates/default/tool_actions.tpl | 12 +- .../tool_administration_applications.tpl | 230 +++--- .../default/tool_administration_domains.tpl | 370 ++++----- .../default/tool_administration_groups.tpl | 668 +++++++-------- .../default/tool_administration_logs.tpl | 112 +-- .../default/tool_administration_restarts.tpl | 344 ++++---- .../default/tool_administration_shards.tpl | 220 ++--- .../default/tool_administration_users.tpl | 414 +++++----- .../admin/templates/default/tool_graphs.tpl | 548 ++++++------- .../templates/default/tool_graphs_ccu.tpl | 460 +++++------ .../templates/default/tool_graphs_hires.tpl | 504 ++++++------ .../templates/default/tool_graphs_tech.tpl | 500 ++++++------ .../admin/templates/default/tool_notes.tpl | 328 ++++---- .../ams/templates/forgot_password.tpl | 108 +-- .../web/public_php/ams/templates/register.tpl | 248 +++--- .../ams/templates/reset_password.tpl | 132 +-- .../web/public_php/ams/templates/settings.tpl | 764 +++++++++--------- 21 files changed, 3532 insertions(+), 3532 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/ingame_templates/settings.tpl b/code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/ingame_templates/settings.tpl index 4e94e633c..50d47d680 100644 --- a/code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/ingame_templates/settings.tpl +++ b/code/ryzom/tools/server/ryzom_ams/drupal_module/ryzommanage/ams_lib/ingame_templates/settings.tpl @@ -1,161 +1,161 @@ -{block name=content} - - - - - - - - -
- - - - -
- - - - - {if isset($isAdmin) and $isAdmin eq 'TRUE' and $target_id neq 1} - {if $userPermission eq 1} - - - {else if $userPermission eq 2 } - - - {else if $userPermission eq 3 } - - - {/if} - {/if} - -
Browse UserSend TicketMake ModeratorMake AdminDemote to UserMake AdminDemote to UserDemote to Moderator
-
-
- - - - - - - - - - - - -

Change Settings of {$target_username}

- - - - - - - - - - - - -
- - -
-
- - - -
- - -
- - -
- -

Change Password

- -
- - {if !isset($changesOther) or $changesOther eq "FALSE"} - - - -

- - {/if} - - - -
- Current Password: - - - {if isset($MATCH_ERROR) and $MATCH_ERROR eq "TRUE"}The password is incorrect{/if} -
- New Password: - - - {if isset($NEWPASSWORD_ERROR) and $NEWPASSWORD_ERROR eq "TRUE"}{$newpass_error_message}{/if} -
- Confirm New Password: - - - {if isset($CNEWPASSWORD_ERROR) and $CNEWPASSWORD_ERROR eq "TRUE"}{$confirmnewpass_error_message}{/if} -
- {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "OK"} -

- The password has been changed! -

- {/if} - - - - - -

- -
- -
-
-
- - -
- - -
-

Change Email

- -
- - -
- New Email: - - - {if isset($EMAIL_ERROR) and $EMAIL_ERROR eq "TRUE"}{$EMAIL}{/if} -
- {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "OK"} -

- The email has been changed! -

- {/if} - - - -

- -

- -
-
-
-
- - - -{/block} - +{block name=content} + + + + + + + + +
+ + + + +
+ + + + + {if isset($isAdmin) and $isAdmin eq 'TRUE' and $target_id neq 1} + {if $userPermission eq 1} + + + {else if $userPermission eq 2 } + + + {else if $userPermission eq 3 } + + + {/if} + {/if} + +
Browse UserSend TicketMake ModeratorMake AdminDemote to UserMake AdminDemote to UserDemote to Moderator
+
+
+ + + + + + + + + + + + +

Change Settings of {$target_username}

+ + + + + + + + + + + + +
+ + +
+
+ + + +
+ + +
+ + +
+ +

Change Password

+ +
+ + {if !isset($changesOther) or $changesOther eq "FALSE"} + + + +

+ + {/if} + + + +
+ Current Password: + + + {if isset($MATCH_ERROR) and $MATCH_ERROR eq "TRUE"}The password is incorrect{/if} +
+ New Password: + + + {if isset($NEWPASSWORD_ERROR) and $NEWPASSWORD_ERROR eq "TRUE"}{$newpass_error_message}{/if} +
+ Confirm New Password: + + + {if isset($CNEWPASSWORD_ERROR) and $CNEWPASSWORD_ERROR eq "TRUE"}{$confirmnewpass_error_message}{/if} +
+ {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "OK"} +

+ The password has been changed! +

+ {/if} + + + + + +

+ +
+ +
+
+
+ + +
+ + +
+

Change Email

+ +
+ + +
+ New Email: + + + {if isset($EMAIL_ERROR) and $EMAIL_ERROR eq "TRUE"}{$EMAIL}{/if} +
+ {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "OK"} +

+ The email has been changed! +

+ {/if} + + + +

+ +

+ +
+
+
+
+ + + +{/block} + diff --git a/code/web/private_php/ams/ingame_templates/register.tpl b/code/web/private_php/ams/ingame_templates/register.tpl index 7f34e8639..0f1d683a8 100644 --- a/code/web/private_php/ams/ingame_templates/register.tpl +++ b/code/web/private_php/ams/ingame_templates/register.tpl @@ -1,118 +1,118 @@ -{config_load file="ams_lib.conf" section="setup"} -
- {$title} -
- -
- {$welcome_message} -
- - {if $userRegistration == '0'|| $userRegistration == '1'} - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {if isset($TAC_ERROR) && $TAC_ERROR eq "TRUE"}{/if} - - -
{$username_tag} - - {if isset($USERNAME_ERROR) && $USERNAME_ERROR eq "TRUE"}{$USERNAME}{/if}
{$password_tag} - - {if isset($PASSWORD_ERROR) && $PASSWORD_ERROR eq "TRUE"}{$PASSWORD}{/if}
{$cpassword_tag} - {if isset($CPASSWORD_ERROR) && $CPASSWORD_ERROR eq "TRUE"}{$CPASSWORD}{/if}
{$email_tag} - - {if isset($EMAIL_ERROR) && $EMAIL_ERROR eq "TRUE"}{$EMAIL}{/if}
{$tac_tag}{$tac_message}
-
- -
- -
- - {/if} - -
- -
- {$username_tooltip} -
- - -
- {$password_message} -
- -
- {$cpassword_message} -
- -
- {$email_message} -
- -
+{config_load file="ams_lib.conf" section="setup"} +
+ {$title} +
+ +
+ {$welcome_message} +
+ + {if $userRegistration == '0'|| $userRegistration == '1'} + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {if isset($TAC_ERROR) && $TAC_ERROR eq "TRUE"}{/if} + + +
{$username_tag} + + {if isset($USERNAME_ERROR) && $USERNAME_ERROR eq "TRUE"}{$USERNAME}{/if}
{$password_tag} + + {if isset($PASSWORD_ERROR) && $PASSWORD_ERROR eq "TRUE"}{$PASSWORD}{/if}
{$cpassword_tag} + {if isset($CPASSWORD_ERROR) && $CPASSWORD_ERROR eq "TRUE"}{$CPASSWORD}{/if}
{$email_tag} + + {if isset($EMAIL_ERROR) && $EMAIL_ERROR eq "TRUE"}{$EMAIL}{/if}
{$tac_tag}{$tac_message}
+
+ +
+ +
+ + {/if} + +
+ +
+ {$username_tooltip} +
+ + +
+ {$password_message} +
+ +
+ {$cpassword_message} +
+ +
+ {$email_message} +
+ +
diff --git a/code/web/private_php/ams/ingame_templates/settings.tpl b/code/web/private_php/ams/ingame_templates/settings.tpl index e256e4429..6049bddba 100644 --- a/code/web/private_php/ams/ingame_templates/settings.tpl +++ b/code/web/private_php/ams/ingame_templates/settings.tpl @@ -1,247 +1,247 @@ -{block name=content} - - - - - - - - -
- - - - -
- - - - - {if isset($isAdmin) and $isAdmin eq 'TRUE' and $target_id neq 1} - {if $userPermission eq 1} - - - {else if $userPermission eq 2 } - - - {else if $userPermission eq 3 } - - - {/if} - {/if} - -
Browse UserSend TicketMake ModeratorMake AdminDemote to UserMake AdminDemote to UserDemote to Moderator
-
-
- - - - - - - - - - - - -

Change Settings of {$target_username}

- - - - - - - - - - - - -
- - -
-
- - - - - -
- - -
- - -
- -

Change Password

- -
- - {if !isset($changesOther) or $changesOther eq "FALSE"} - - - -

- - {/if} - - - -
- Current Password: - - - {if isset($MATCH_ERROR) and $MATCH_ERROR eq "TRUE"}The password is incorrect{/if} -
- New Password: - - - {if isset($NEWPASSWORD_ERROR) and $NEWPASSWORD_ERROR eq "TRUE"}{$newpass_error_message}{/if} -
- Confirm New Password: - - - {if isset($CNEWPASSWORD_ERROR) and $CNEWPASSWORD_ERROR eq "TRUE"}{$confirmnewpass_error_message}{/if} -
- {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "OK"} -

- The password has been changed! -

- {/if} - - - - - -

- -
- -
-
-
- - -
- - -
-

Change Email

- -
- - -
- New Email: - - - {if isset($EMAIL_ERROR) and $EMAIL_ERROR eq "TRUE"}{$EMAIL}{/if} -
- {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "OK"} -

- The email has been changed! -

- {/if} - - - -

- -

- -
-
-
- - -
- - -
-

Change Info

-
- - - - - - - - - - - - - - - - - - - - -
Firstname:
Lastname:
Country:
Gender -
- {if isset($info_updated) and $info_updated eq "OK"} -

- The Info has been updated! -

- {/if} - - - - -

- -

-
- -
-
-
- - -
- - -
-

Ticket-Update Mail Settings

-
- - -
- Receive ticket updates - - -
- - - -

- -

-
- -
-
-
-
- - - -{/block} - +{block name=content} + + + + + + + + +
+ + + + +
+ + + + + {if isset($isAdmin) and $isAdmin eq 'TRUE' and $target_id neq 1} + {if $userPermission eq 1} + + + {else if $userPermission eq 2 } + + + {else if $userPermission eq 3 } + + + {/if} + {/if} + +
Browse UserSend TicketMake ModeratorMake AdminDemote to UserMake AdminDemote to UserDemote to Moderator
+
+
+ + + + + + + + + + + + +

Change Settings of {$target_username}

+ + + + + + + + + + + + +
+ + +
+
+ + + + + +
+ + +
+ + +
+ +

Change Password

+ +
+ + {if !isset($changesOther) or $changesOther eq "FALSE"} + + + +

+ + {/if} + + + +
+ Current Password: + + + {if isset($MATCH_ERROR) and $MATCH_ERROR eq "TRUE"}The password is incorrect{/if} +
+ New Password: + + + {if isset($NEWPASSWORD_ERROR) and $NEWPASSWORD_ERROR eq "TRUE"}{$newpass_error_message}{/if} +
+ Confirm New Password: + + + {if isset($CNEWPASSWORD_ERROR) and $CNEWPASSWORD_ERROR eq "TRUE"}{$confirmnewpass_error_message}{/if} +
+ {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "OK"} +

+ The password has been changed! +

+ {/if} + + + + + +

+ +
+ +
+
+
+ + +
+ + +
+

Change Email

+ +
+ + +
+ New Email: + + + {if isset($EMAIL_ERROR) and $EMAIL_ERROR eq "TRUE"}{$EMAIL}{/if} +
+ {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "OK"} +

+ The email has been changed! +

+ {/if} + + + +

+ +

+ +
+
+
+ + +
+ + +
+

Change Info

+
+ + + + + + + + + + + + + + + + + + + + +
Firstname:
Lastname:
Country:
Gender +
+ {if isset($info_updated) and $info_updated eq "OK"} +

+ The Info has been updated! +

+ {/if} + + + + +

+ +

+
+ +
+
+
+ + +
+ + +
+

Ticket-Update Mail Settings

+
+ + +
+ Receive ticket updates + + +
+ + + +

+ +

+
+ +
+
+
+
+ + + +{/block} + diff --git a/code/web/public_php/admin/templates/default/index_login.tpl b/code/web/public_php/admin/templates/default/index_login.tpl index f62a03998..7b18df28e 100644 --- a/code/web/public_php/admin/templates/default/index_login.tpl +++ b/code/web/public_php/admin/templates/default/index_login.tpl @@ -1,25 +1,25 @@ - -{include file="page_header_light.tpl"} - -

Shard Administration Website

- -

Use login: guest and password: guest to login.

- - - - - - - - - - - - - - - -
Login:
Password:
  -
- -{include file="page_footer_light.tpl"} + +{include file="page_header_light.tpl"} + +

Shard Administration Website

+ +

Use login: guest and password: guest to login.

+ + + + + + + + + + + + + + + +
Login:
Password:
  +
+ +{include file="page_footer_light.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_actions.tpl b/code/web/public_php/admin/templates/default/tool_actions.tpl index a8c9e614a..3ceacb946 100644 --- a/code/web/public_php/admin/templates/default/tool_actions.tpl +++ b/code/web/public_php/admin/templates/default/tool_actions.tpl @@ -1,6 +1,6 @@ - -{include file="page_header.tpl"} - - - -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_administration_applications.tpl b/code/web/public_php/admin/templates/default/tool_administration_applications.tpl index 824d34325..45dc12839 100644 --- a/code/web/public_php/admin/templates/default/tool_administration_applications.tpl +++ b/code/web/public_php/admin/templates/default/tool_administration_applications.tpl @@ -1,115 +1,115 @@ - -{include file="page_header.tpl"} - - - - - - -
{$tool_alert_message} - - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- - - - - - - - - - - - - -{section name=application loop=$tool_application_list} -{cycle assign="trclass" values="row1,row0"} - - - - - - - - - -{/section} -
Applications
IDNameURIRestrictionIconOrderVisible
{$tool_application_list[application].application_id}{$tool_application_list[application].application_name}{$tool_application_list[application].application_uri}{$tool_application_list[application].application_restriction}{$tool_application_list[application].application_icon}{$tool_application_list[application].application_order}{if $tool_application_list[application].application_visible == 1}Yes{else}No{/if}
-
- - - - - -{if $tool_application_edit_data.application_id} - - - - -{/if} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Applications Details
Id :
Name :
URI :
Restriction :
Icon :
Order :
Visible : - -
  - -{if $tool_application_edit_data.application_id} - - -{else} - - -{/if} - -
-
- -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + + + + +
{$tool_alert_message} + + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ + + + + + + + + + + + + +{section name=application loop=$tool_application_list} +{cycle assign="trclass" values="row1,row0"} + + + + + + + + + +{/section} +
Applications
IDNameURIRestrictionIconOrderVisible
{$tool_application_list[application].application_id}{$tool_application_list[application].application_name}{$tool_application_list[application].application_uri}{$tool_application_list[application].application_restriction}{$tool_application_list[application].application_icon}{$tool_application_list[application].application_order}{if $tool_application_list[application].application_visible == 1}Yes{else}No{/if}
+
+ + + + + +{if $tool_application_edit_data.application_id} + + + + +{/if} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Applications Details
Id :
Name :
URI :
Restriction :
Icon :
Order :
Visible : + +
  + +{if $tool_application_edit_data.application_id} + + +{else} + + +{/if} + +
+
+ +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_administration_domains.tpl b/code/web/public_php/admin/templates/default/tool_administration_domains.tpl index 3262aee9d..fa61386a5 100644 --- a/code/web/public_php/admin/templates/default/tool_administration_domains.tpl +++ b/code/web/public_php/admin/templates/default/tool_administration_domains.tpl @@ -1,185 +1,185 @@ - -{include file="page_header.tpl"} - - - - - - -
{$tool_alert_message} - - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - -{section name=domain loop=$tool_domain_list} -{cycle assign="trclass" values="row1,row0"} - - - - - - - - - - - - - - -{/section} -
Domains
IDNameApplicationAS HostAS PortMFS WebRRD PathLAS Admin PathLAS Local PathRing DBCS DBHD Check
{$tool_domain_list[domain].domain_id}{$tool_domain_list[domain].domain_name}{$tool_domain_list[domain].domain_application}{$tool_domain_list[domain].domain_as_host}{$tool_domain_list[domain].domain_as_port}{$tool_domain_list[domain].domain_mfs_web}{$tool_domain_list[domain].domain_rrd_path}{$tool_domain_list[domain].domain_las_admin_path}{$tool_domain_list[domain].domain_las_local_path}{if $tool_domain_list[domain].domain_sql_string != ''}True{else}False{/if}{if $tool_domain_list[domain].domain_cs_sql_string != ''}True{else}False{/if}{if $tool_domain_list[domain].domain_hd_check == 1}Yes{else}No{/if}
-
- - - - - -{if $tool_domain_edit_data.domain_id} - - - - -{/if} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Domain Details
Id :
Name :
Application :
AS Host :
AS Port :
MFS Web :
RRD Path :
LAS Admin Path :
LAS Local Path :
Ring DB String :
CS DB String :
HD Check : - -
  - -{if $tool_domain_edit_data.domain_id} - - -{else} - - -{/if} - -
- -{if $tool_domain_nel_data} -
- - - - - - - - - - - - - - - - - - - - - - - -
Domain Data
ID :
Name :
Status : -
  - - -
-{/if} - -
- -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + + + + +
{$tool_alert_message} + + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +{section name=domain loop=$tool_domain_list} +{cycle assign="trclass" values="row1,row0"} + + + + + + + + + + + + + + +{/section} +
Domains
IDNameApplicationAS HostAS PortMFS WebRRD PathLAS Admin PathLAS Local PathRing DBCS DBHD Check
{$tool_domain_list[domain].domain_id}{$tool_domain_list[domain].domain_name}{$tool_domain_list[domain].domain_application}{$tool_domain_list[domain].domain_as_host}{$tool_domain_list[domain].domain_as_port}{$tool_domain_list[domain].domain_mfs_web}{$tool_domain_list[domain].domain_rrd_path}{$tool_domain_list[domain].domain_las_admin_path}{$tool_domain_list[domain].domain_las_local_path}{if $tool_domain_list[domain].domain_sql_string != ''}True{else}False{/if}{if $tool_domain_list[domain].domain_cs_sql_string != ''}True{else}False{/if}{if $tool_domain_list[domain].domain_hd_check == 1}Yes{else}No{/if}
+
+ + + + + +{if $tool_domain_edit_data.domain_id} + + + + +{/if} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Domain Details
Id :
Name :
Application :
AS Host :
AS Port :
MFS Web :
RRD Path :
LAS Admin Path :
LAS Local Path :
Ring DB String :
CS DB String :
HD Check : + +
  + +{if $tool_domain_edit_data.domain_id} + + +{else} + + +{/if} + +
+ +{if $tool_domain_nel_data} +
+ + + + + + + + + + + + + + + + + + + + + + + +
Domain Data
ID :
Name :
Status : +
  + + +
+{/if} + +
+ +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_administration_groups.tpl b/code/web/public_php/admin/templates/default/tool_administration_groups.tpl index 3dedf7067..be7235734 100644 --- a/code/web/public_php/admin/templates/default/tool_administration_groups.tpl +++ b/code/web/public_php/admin/templates/default/tool_administration_groups.tpl @@ -1,334 +1,334 @@ - -{include file="page_header.tpl"} - - - - - - -
{$tool_alert_message} - - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- - - - - - - - - - - -{section name=group loop=$tool_group_list} -{cycle assign="trclass" values="row1,row0"} - - - - - - - -{/section} -
Groups
IDNameLevelDefaultActive
{$tool_group_list[group].group_id}{$tool_group_list[group].group_name}{$tool_group_list[group].group_level_name}{if $tool_group_list[group].group_default == 1}Yes{else}No{/if}{if $tool_group_list[group].group_active == 1}Yes{else}No{/if}
- -{if $tool_group_user_list} -
- - - - - - - - - - - - - -{section name=user loop=$tool_group_user_list} -{cycle assign="trclass2" values="row1,row0"} - - - - -{if $tool_group_user_list[user].user_logged_last > 0} - -{else} - -{/if} - - - -{/section} -
Accounts
IDLoginCreatedLast LoggedNum LogsActive
{$tool_group_user_list[user].user_id}{$tool_group_user_list[user].user_name}{$tool_group_user_list[user].user_created|date_format:"%Y/%m/%d %H:%M:%S"}{$tool_group_user_list[user].user_logged_last|date_format:"%Y/%m/%d %H:%M:%S"}never{$tool_group_user_list[user].user_logged_count}{if $tool_group_user_list[user].user_active == 1}Yes{else}No{/if}
-{/if} - -
- - - - - -{if $tool_group_edit_data.group_id} - - - - -{/if} - - - - - - - - - - - - - - - - - - - - - -
Group Details
Id :
Name :
Level : - -
Default : - -
Active : - -
  - -{if $tool_group_edit_data.group_id} - - -{else} - - -{/if} - -
- -{if $tool_group_edit_data.group_id} - -
- - - - - - - - - - - - - - -
Default Domain
Domains : - -
  - - -
- -{if $tool_group_edit_data.group_default_domain_id > 0} -
- - - - - - - - - - - - - - -
Default Shard
Shards : - -
  - - -
-{/if} - -
- - - - - - - - - - - - - - -
Default Application
Application : - -
  - - -
- -
- - - - - - - - - - - - - - -
Application Access
Applications : - -
  - - -
- -
- - - - - - - - - - - - - - -
Domain Access
Domains : - -
  - - -
- -
- - - - - - - - - - - - - - -
Shard Access
Shards : - -
  - - -
- -{/if} - -
- -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + + + + +
{$tool_alert_message} + + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ + + + + + + + + + + +{section name=group loop=$tool_group_list} +{cycle assign="trclass" values="row1,row0"} + + + + + + + +{/section} +
Groups
IDNameLevelDefaultActive
{$tool_group_list[group].group_id}{$tool_group_list[group].group_name}{$tool_group_list[group].group_level_name}{if $tool_group_list[group].group_default == 1}Yes{else}No{/if}{if $tool_group_list[group].group_active == 1}Yes{else}No{/if}
+ +{if $tool_group_user_list} +
+ + + + + + + + + + + + + +{section name=user loop=$tool_group_user_list} +{cycle assign="trclass2" values="row1,row0"} + + + + +{if $tool_group_user_list[user].user_logged_last > 0} + +{else} + +{/if} + + + +{/section} +
Accounts
IDLoginCreatedLast LoggedNum LogsActive
{$tool_group_user_list[user].user_id}{$tool_group_user_list[user].user_name}{$tool_group_user_list[user].user_created|date_format:"%Y/%m/%d %H:%M:%S"}{$tool_group_user_list[user].user_logged_last|date_format:"%Y/%m/%d %H:%M:%S"}never{$tool_group_user_list[user].user_logged_count}{if $tool_group_user_list[user].user_active == 1}Yes{else}No{/if}
+{/if} + +
+ + + + + +{if $tool_group_edit_data.group_id} + + + + +{/if} + + + + + + + + + + + + + + + + + + + + + +
Group Details
Id :
Name :
Level : + +
Default : + +
Active : + +
  + +{if $tool_group_edit_data.group_id} + + +{else} + + +{/if} + +
+ +{if $tool_group_edit_data.group_id} + +
+ + + + + + + + + + + + + + +
Default Domain
Domains : + +
  + + +
+ +{if $tool_group_edit_data.group_default_domain_id > 0} +
+ + + + + + + + + + + + + + +
Default Shard
Shards : + +
  + + +
+{/if} + +
+ + + + + + + + + + + + + + +
Default Application
Application : + +
  + + +
+ +
+ + + + + + + + + + + + + + +
Application Access
Applications : + +
  + + +
+ +
+ + + + + + + + + + + + + + +
Domain Access
Domains : + +
  + + +
+ +
+ + + + + + + + + + + + + + +
Shard Access
Shards : + +
  + + +
+ +{/if} + +
+ +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_administration_logs.tpl b/code/web/public_php/admin/templates/default/tool_administration_logs.tpl index a2f537a8e..b44d3719b 100644 --- a/code/web/public_php/admin/templates/default/tool_administration_logs.tpl +++ b/code/web/public_php/admin/templates/default/tool_administration_logs.tpl @@ -1,56 +1,56 @@ - -{include file="page_header.tpl"} - - - - - - -
{$tool_alert_message} - - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - -
- - - - - - - - - - -{section name=log loop=$tool_log_list} - - - - - - -{/section} - - - -
Logs
IDUserDateAction
{$tool_log_list[log].logs_id}{$tool_log_list[log].logs_user_name}{$tool_log_list[log].logs_date|date_format:"%Y/%m/%d %H:%M:%S"}{$tool_log_list[log].logs_data}
-|<    -<    -Page {$tool_log_page_current} / {$tool_log_page_total}    ->    ->| -
-
- -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + + + + +
{$tool_alert_message} + + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + +
+ + + + + + + + + + +{section name=log loop=$tool_log_list} + + + + + + +{/section} + + + +
Logs
IDUserDateAction
{$tool_log_list[log].logs_id}{$tool_log_list[log].logs_user_name}{$tool_log_list[log].logs_date|date_format:"%Y/%m/%d %H:%M:%S"}{$tool_log_list[log].logs_data}
+|<    +<    +Page {$tool_log_page_current} / {$tool_log_page_total}    +>    +>| +
+
+ +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_administration_restarts.tpl b/code/web/public_php/admin/templates/default/tool_administration_restarts.tpl index 37e856f09..d31e4a65e 100644 --- a/code/web/public_php/admin/templates/default/tool_administration_restarts.tpl +++ b/code/web/public_php/admin/templates/default/tool_administration_restarts.tpl @@ -1,172 +1,172 @@ - -{include file="page_header.tpl"} - - - - - - -
{$tool_alert_message} - - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- - - - - - - - - - -{section name=restart loop=$tool_restart_list} -{cycle assign="trclass" values="row1,row0"} - - - - - - -{/section} -
Restart Groups
IDNameListOrder
{$tool_restart_list[restart].restart_group_id}{$tool_restart_list[restart].restart_group_name}{$tool_restart_list[restart].restart_group_list}{$tool_restart_list[restart].restart_group_order}
-
- - - - - -{if $tool_restart_edit_data.restart_group_id} - - - - -{/if} - - - - - - - - - - - - - - - - - -
Restart Group Details
Id :
Name :
Services :
Order :
  - -{if $tool_restart_edit_data.restart_group_id} - - -{else} - - -{/if} - -
-
- -
- - - - - - - - - -
- - - - - - - - - - -{section name=msg loop=$tool_message_list} -{cycle assign="trclass" values="row1,row0"} - - - - - - -{/section} -
Restart Messages
IDLanguageNameValue
{$tool_message_list[msg].restart_message_id}{$tool_message_list[msg].restart_message_lang}{$tool_message_list[msg].restart_message_name}{$tool_message_list[msg].restart_message_value}
-
- - - - - -{if $tool_message_edit_data.restart_message_id} - - - - -{/if} - - - - - - - - - - - - - - - - - -
Restart Message Details
Id :
Name :
Value :
Language : - -
  - -{if $tool_message_edit_data.restart_message_id } - - -{else} - - -{/if} - -
-
- - -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + + + + +
{$tool_alert_message} + + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ + + + + + + + + + +{section name=restart loop=$tool_restart_list} +{cycle assign="trclass" values="row1,row0"} + + + + + + +{/section} +
Restart Groups
IDNameListOrder
{$tool_restart_list[restart].restart_group_id}{$tool_restart_list[restart].restart_group_name}{$tool_restart_list[restart].restart_group_list}{$tool_restart_list[restart].restart_group_order}
+
+ + + + + +{if $tool_restart_edit_data.restart_group_id} + + + + +{/if} + + + + + + + + + + + + + + + + + +
Restart Group Details
Id :
Name :
Services :
Order :
  + +{if $tool_restart_edit_data.restart_group_id} + + +{else} + + +{/if} + +
+
+ +
+ + + + + + + + + +
+ + + + + + + + + + +{section name=msg loop=$tool_message_list} +{cycle assign="trclass" values="row1,row0"} + + + + + + +{/section} +
Restart Messages
IDLanguageNameValue
{$tool_message_list[msg].restart_message_id}{$tool_message_list[msg].restart_message_lang}{$tool_message_list[msg].restart_message_name}{$tool_message_list[msg].restart_message_value}
+
+ + + + + +{if $tool_message_edit_data.restart_message_id} + + + + +{/if} + + + + + + + + + + + + + + + + + +
Restart Message Details
Id :
Name :
Value :
Language : + +
  + +{if $tool_message_edit_data.restart_message_id } + + +{else} + + +{/if} + +
+
+ + +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_administration_shards.tpl b/code/web/public_php/admin/templates/default/tool_administration_shards.tpl index c5ebdc00f..03ceb06b9 100644 --- a/code/web/public_php/admin/templates/default/tool_administration_shards.tpl +++ b/code/web/public_php/admin/templates/default/tool_administration_shards.tpl @@ -1,110 +1,110 @@ - -{include file="page_header.tpl"} - - - - - - -
{$tool_alert_message} - - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- - - - - - - - - - - -{section name=shard loop=$tool_shard_list} -{cycle assign="trclass" values="row1,row0"} - - - - - - - -{/section} -
Shards
IDNameShard IDDomainLanguage
{$tool_shard_list[shard].shard_id}{$tool_shard_list[shard].shard_name}{$tool_shard_list[shard].shard_as_id}{$tool_shard_list[shard].domain_name}{$tool_shard_list[shard].shard_lang}
-
- - - - - -{if $tool_shard_edit_data.shard_id} - - - - -{/if} - - - - - - - - - - - - - - - - - - - - - -
Shard Details
Id :
Name :
Shard ID :
Domain : - -
Language : - -
  - -{if $tool_shard_edit_data.shard_id} - - -{else} - - -{/if} - -
-
- -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + + + + +
{$tool_alert_message} + + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ + + + + + + + + + + +{section name=shard loop=$tool_shard_list} +{cycle assign="trclass" values="row1,row0"} + + + + + + + +{/section} +
Shards
IDNameShard IDDomainLanguage
{$tool_shard_list[shard].shard_id}{$tool_shard_list[shard].shard_name}{$tool_shard_list[shard].shard_as_id}{$tool_shard_list[shard].domain_name}{$tool_shard_list[shard].shard_lang}
+
+ + + + + +{if $tool_shard_edit_data.shard_id} + + + + +{/if} + + + + + + + + + + + + + + + + + + + + + +
Shard Details
Id :
Name :
Shard ID :
Domain : + +
Language : + +
  + +{if $tool_shard_edit_data.shard_id} + + +{else} + + +{/if} + +
+
+ +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_administration_users.tpl b/code/web/public_php/admin/templates/default/tool_administration_users.tpl index d2d81a85b..5950d21ca 100644 --- a/code/web/public_php/admin/templates/default/tool_administration_users.tpl +++ b/code/web/public_php/admin/templates/default/tool_administration_users.tpl @@ -1,207 +1,207 @@ - -{include file="page_header.tpl"} - - - - - - -
{$tool_alert_message} - - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- - - - - - - - - - - - - -{section name=user loop=$tool_user_list} -{cycle assign="trclass" values="row1,row0"} - - - - - -{if $tool_user_list[user].user_logged_last > 0} - -{else} - -{/if} - - - -{/section} -
Accounts
IDLoginGroupCreatedLast LoggedNum LogsActive
{$tool_user_list[user].user_id}{$tool_user_list[user].user_name}{$tool_user_list[user].user_group_name}{$tool_user_list[user].user_created|date_format:"%Y/%m/%d %H:%M:%S"}{$tool_user_list[user].user_logged_last|date_format:"%Y/%m/%d %H:%M:%S"}never{$tool_user_list[user].user_logged_count}{if $tool_user_list[user].user_active == 1}Yes{else}No{/if}
-
- - - - - -{if $tool_user_edit_data.user_id} - - - - -{/if} - - - - - - - - - - - - - - - - - - - - - -
Account Details
Id :
Name :
Password :
Group : - -
Active : - -
  - -{if $tool_user_edit_data.user_id} - - -{else} - - -{/if} - -
- -{if $tool_user_edit_data.user_id} - -
- - - - - - - - - - - - - - -
Application Access
Applications : - -
  - - -
- -
- - - - - - - - - - - - - - -
Domain Access
Domains : - -
  - - -
- -
- - - - - - - - - - - - - - -
Shard Access {if $tool_domain_list[domain].domain_disabled}(group){/if}
Shards : - -
  - - {* *} - -
- -{/if} - -
- -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + + + + + + +
{$tool_alert_message} + + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ + + + + + + + + + + + + +{section name=user loop=$tool_user_list} +{cycle assign="trclass" values="row1,row0"} + + + + + +{if $tool_user_list[user].user_logged_last > 0} + +{else} + +{/if} + + + +{/section} +
Accounts
IDLoginGroupCreatedLast LoggedNum LogsActive
{$tool_user_list[user].user_id}{$tool_user_list[user].user_name}{$tool_user_list[user].user_group_name}{$tool_user_list[user].user_created|date_format:"%Y/%m/%d %H:%M:%S"}{$tool_user_list[user].user_logged_last|date_format:"%Y/%m/%d %H:%M:%S"}never{$tool_user_list[user].user_logged_count}{if $tool_user_list[user].user_active == 1}Yes{else}No{/if}
+
+ + + + + +{if $tool_user_edit_data.user_id} + + + + +{/if} + + + + + + + + + + + + + + + + + + + + + +
Account Details
Id :
Name :
Password :
Group : + +
Active : + +
  + +{if $tool_user_edit_data.user_id} + + +{else} + + +{/if} + +
+ +{if $tool_user_edit_data.user_id} + +
+ + + + + + + + + + + + + + +
Application Access
Applications : + +
  + + +
+ +
+ + + + + + + + + + + + + + +
Domain Access
Domains : + +
  + + +
+ +
+ + + + + + + + + + + + + + +
Shard Access {if $tool_domain_list[domain].domain_disabled}(group){/if}
Shards : + +
  + + {* *} + +
+ +{/if} + +
+ +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_graphs.tpl b/code/web/public_php/admin/templates/default/tool_graphs.tpl index 24e2d4eaa..9dcd896a5 100644 --- a/code/web/public_php/admin/templates/default/tool_graphs.tpl +++ b/code/web/public_php/admin/templates/default/tool_graphs.tpl @@ -1,274 +1,274 @@ - -{include file="page_header.tpl"} - -{literal} - -{/literal} - - - - - -
- - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- -{if $tool_domain_selected && $tool_shard_selected} - - - - - - - - -{if $tool_refresh_rate > 0} - - - -{/if} - -
Refresh
- -
- - -
-
-{/if} - - - - - -{section name=domain loop=$tool_domain_list} - - - -{/section} -
Domains
{$tool_domain_list[domain].domain_name}
- -{if $tool_domain_selected} -
- - - - -{section name=shard loop=$tool_shard_list} -{if $tool_domain_selected == $tool_shard_list[shard].shard_domain_id} - - - -{/if} -{/section} -
Shards
{$tool_shard_list[shard].shard_name}
- -{if $tool_frame_list} - -{/if} - -{if $tool_graph_list} -
- - - - -{section name=gvar loop=$tool_graph_variables} - - - - - -{assign var="var_name" value=$tool_graph_variables[gvar]} -{section name=gdata loop=$tool_graph_datas.$var_name} - - - - - -{/section} -{/section} -
Graphs
{$tool_graph_variables[gvar]}High
{$tool_graph_datas.$var_name[gdata].service}{if $tool_graph_datas.$var_name[gdata].high_file != ''}Yes{else}No{/if}
-{/if} - -{/if} - -
  - -{if $tool_domain_error} - - - - -
{$tool_domain_error}
-{elseif !$tool_domain_selected} - - - - -
You need to select a domain.
-{else} -{if $tool_as_error} - - - - -
{$tool_as_error}
-
-{/if} - - - - - -
-{if $tool_rrd_output} -{section name=rrd loop=$tool_rrd_output} - {$tool_rrd_output[rrd].desc}
-
-{/section} -{/if} -
-{if $tool_rrd_high_output} -{section name=rrd loop=$tool_rrd_high_output} - {$tool_rrd_high_output[rrd].desc}
-{if $tool_rrd_high_output[rrd].img != ''} -
-{/if} -{/section} -{/if} -
-{/if} - -
- - -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + +{literal} + +{/literal} + + + + + +
+ + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ +{if $tool_domain_selected && $tool_shard_selected} + + + + + + + + +{if $tool_refresh_rate > 0} + + + +{/if} + +
Refresh
+ +
+ + +
+
+{/if} + + + + + +{section name=domain loop=$tool_domain_list} + + + +{/section} +
Domains
{$tool_domain_list[domain].domain_name}
+ +{if $tool_domain_selected} +
+ + + + +{section name=shard loop=$tool_shard_list} +{if $tool_domain_selected == $tool_shard_list[shard].shard_domain_id} + + + +{/if} +{/section} +
Shards
{$tool_shard_list[shard].shard_name}
+ +{if $tool_frame_list} + +{/if} + +{if $tool_graph_list} +
+ + + + +{section name=gvar loop=$tool_graph_variables} + + + + + +{assign var="var_name" value=$tool_graph_variables[gvar]} +{section name=gdata loop=$tool_graph_datas.$var_name} + + + + + +{/section} +{/section} +
Graphs
{$tool_graph_variables[gvar]}High
{$tool_graph_datas.$var_name[gdata].service}{if $tool_graph_datas.$var_name[gdata].high_file != ''}Yes{else}No{/if}
+{/if} + +{/if} + +
  + +{if $tool_domain_error} + + + + +
{$tool_domain_error}
+{elseif !$tool_domain_selected} + + + + +
You need to select a domain.
+{else} +{if $tool_as_error} + + + + +
{$tool_as_error}
+
+{/if} + + + + + +
+{if $tool_rrd_output} +{section name=rrd loop=$tool_rrd_output} + {$tool_rrd_output[rrd].desc}
+
+{/section} +{/if} +
+{if $tool_rrd_high_output} +{section name=rrd loop=$tool_rrd_high_output} + {$tool_rrd_high_output[rrd].desc}
+{if $tool_rrd_high_output[rrd].img != ''} +
+{/if} +{/section} +{/if} +
+{/if} + +
+ + +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_graphs_ccu.tpl b/code/web/public_php/admin/templates/default/tool_graphs_ccu.tpl index db9051058..2a9cf3f21 100644 --- a/code/web/public_php/admin/templates/default/tool_graphs_ccu.tpl +++ b/code/web/public_php/admin/templates/default/tool_graphs_ccu.tpl @@ -1,230 +1,230 @@ - -{include file="page_header.tpl"} - -{literal} - -{/literal} - - - - - -
- - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- -{if $tool_domain_selected && $tool_frame_selected} - - - - - - - - -{if $tool_refresh_rate > 0} - - - -{/if} - -
Refresh
- -
- - -
-
-{/if} - - - - - -{section name=domain loop=$tool_domain_list} - - - -{/section} -
Domains
{$tool_domain_list[domain].domain_name}
- -{if $tool_domain_selected} -
- - - - -{section name=frame loop=$tool_frame_list} - - - -{/section} -
Time Frame
{$tool_frame_list[frame].title}
- -{/if} - -
  - -{if $tool_domain_error} - - - - -
{$tool_domain_error}
-{elseif !$tool_domain_selected} - - - - -
You need to select a domain.
-{elseif !$tool_frame_selected} - - - - -
You need to select a time frame.
-{else} -{if $tool_as_error} - - - - -
{$tool_as_error}
-
-{/if} - - - - -
-{if $tool_rrd_output} -{section name=rrd loop=$tool_rrd_output} - {$tool_rrd_output[rrd].desc}
-
-{/section} -{/if} -
-{/if} - -
- - -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + +{literal} + +{/literal} + + + + + +
+ + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ +{if $tool_domain_selected && $tool_frame_selected} + + + + + + + + +{if $tool_refresh_rate > 0} + + + +{/if} + +
Refresh
+ +
+ + +
+
+{/if} + + + + + +{section name=domain loop=$tool_domain_list} + + + +{/section} +
Domains
{$tool_domain_list[domain].domain_name}
+ +{if $tool_domain_selected} +
+ + + + +{section name=frame loop=$tool_frame_list} + + + +{/section} +
Time Frame
{$tool_frame_list[frame].title}
+ +{/if} + +
  + +{if $tool_domain_error} + + + + +
{$tool_domain_error}
+{elseif !$tool_domain_selected} + + + + +
You need to select a domain.
+{elseif !$tool_frame_selected} + + + + +
You need to select a time frame.
+{else} +{if $tool_as_error} + + + + +
{$tool_as_error}
+
+{/if} + + + + +
+{if $tool_rrd_output} +{section name=rrd loop=$tool_rrd_output} + {$tool_rrd_output[rrd].desc}
+
+{/section} +{/if} +
+{/if} + +
+ + +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_graphs_hires.tpl b/code/web/public_php/admin/templates/default/tool_graphs_hires.tpl index 67288ac95..54d784934 100644 --- a/code/web/public_php/admin/templates/default/tool_graphs_hires.tpl +++ b/code/web/public_php/admin/templates/default/tool_graphs_hires.tpl @@ -1,252 +1,252 @@ - -{include file="page_header.tpl"} - -{literal} - -{/literal} - - - - - -
- - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- -{if $tool_domain_selected && $tool_shard_selected && $tool_frame_selected} - - - - - - - - -{if $tool_refresh_rate > 0} - - - -{/if} - -
Refresh
- -
- - -
-
-{/if} - - - - - -{section name=domain loop=$tool_domain_list} - - - -{/section} -
Domains
{$tool_domain_list[domain].domain_name}
- -{if $tool_domain_selected} -
- - - - -{section name=shard loop=$tool_shard_list} -{if $tool_domain_selected == $tool_shard_list[shard].shard_domain_id} - - - -{/if} -{/section} -
Shards
{$tool_shard_list[shard].shard_name}
- -
- - - - -{section name=frame loop=$tool_frame_list} - - - -{/section} -
Time Frame
{$tool_frame_list[frame].title}
- -{/if} - -
  - -{if $tool_domain_error} - - - - -
{$tool_domain_error}
-{elseif !$tool_domain_selected} - - - - -
You need to select a domain.
-{elseif !$tool_shard_selected} - - - - -
You need to select a shard.
-{elseif !$tool_frame_selected} - - - - -
You need to select a time frame.
-{else} -{if $tool_as_error} - - - - -
{$tool_as_error}
-
-{/if} - - - - -
-{if $tool_rrd_high_output} -{section name=rrd loop=$tool_rrd_high_output} - {$tool_rrd_high_output[rrd].desc}
-{if $tool_rrd_high_output[rrd].img != ''} -
-{/if} -{/section} -{/if} -
-{/if} - -
- - -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + +{literal} + +{/literal} + + + + + +
+ + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ +{if $tool_domain_selected && $tool_shard_selected && $tool_frame_selected} + + + + + + + + +{if $tool_refresh_rate > 0} + + + +{/if} + +
Refresh
+ +
+ + +
+
+{/if} + + + + + +{section name=domain loop=$tool_domain_list} + + + +{/section} +
Domains
{$tool_domain_list[domain].domain_name}
+ +{if $tool_domain_selected} +
+ + + + +{section name=shard loop=$tool_shard_list} +{if $tool_domain_selected == $tool_shard_list[shard].shard_domain_id} + + + +{/if} +{/section} +
Shards
{$tool_shard_list[shard].shard_name}
+ +
+ + + + +{section name=frame loop=$tool_frame_list} + + + +{/section} +
Time Frame
{$tool_frame_list[frame].title}
+ +{/if} + +
  + +{if $tool_domain_error} + + + + +
{$tool_domain_error}
+{elseif !$tool_domain_selected} + + + + +
You need to select a domain.
+{elseif !$tool_shard_selected} + + + + +
You need to select a shard.
+{elseif !$tool_frame_selected} + + + + +
You need to select a time frame.
+{else} +{if $tool_as_error} + + + + +
{$tool_as_error}
+
+{/if} + + + + +
+{if $tool_rrd_high_output} +{section name=rrd loop=$tool_rrd_high_output} + {$tool_rrd_high_output[rrd].desc}
+{if $tool_rrd_high_output[rrd].img != ''} +
+{/if} +{/section} +{/if} +
+{/if} + +
+ + +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_graphs_tech.tpl b/code/web/public_php/admin/templates/default/tool_graphs_tech.tpl index c1c96d189..79299b7ab 100644 --- a/code/web/public_php/admin/templates/default/tool_graphs_tech.tpl +++ b/code/web/public_php/admin/templates/default/tool_graphs_tech.tpl @@ -1,250 +1,250 @@ - -{include file="page_header.tpl"} - -{literal} - -{/literal} - - - - - -
- - - {section name=onemenu loop=$tool_menu} - - {/section} - -
{$tool_menu[onemenu].title}
-
- -
- - - - - - - - - -
- -{if $tool_domain_selected && $tool_shard_selected && $tool_frame_selected} - - - - - - - - -{if $tool_refresh_rate > 0} - - - -{/if} - -
Refresh
- -
- - -
-
-{/if} - - - - - -{section name=domain loop=$tool_domain_list} - - - -{/section} -
Domains
{$tool_domain_list[domain].domain_name}
- -{if $tool_domain_selected} -
- - - - -{section name=shard loop=$tool_shard_list} -{if $tool_domain_selected == $tool_shard_list[shard].shard_domain_id} - - - -{/if} -{/section} -
Shards
{$tool_shard_list[shard].shard_name}
- -
- - - - -{section name=frame loop=$tool_frame_list} - - - -{/section} -
Time Frame
{$tool_frame_list[frame].title}
- -{/if} - -
  - -{if $tool_domain_error} - - - - -
{$tool_domain_error}
-{elseif !$tool_domain_selected} - - - - -
You need to select a domain.
-{elseif !$tool_shard_selected} - - - - -
You need to select a shard.
-{elseif !$tool_frame_selected} - - - - -
You need to select a time frame.
-{else} -{if $tool_as_error} - - - - -
{$tool_as_error}
-
-{/if} - - - - -
-{if $tool_rrd_output} -{section name=rrd loop=$tool_rrd_output} - {$tool_rrd_output[rrd].desc}
-
-{/section} -{/if} -
-{/if} - -
- - -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + +{literal} + +{/literal} + + + + + +
+ + + {section name=onemenu loop=$tool_menu} + + {/section} + +
{$tool_menu[onemenu].title}
+
+ +
+ + + + + + + + + +
+ +{if $tool_domain_selected && $tool_shard_selected && $tool_frame_selected} + + + + + + + + +{if $tool_refresh_rate > 0} + + + +{/if} + +
Refresh
+ +
+ + +
+
+{/if} + + + + + +{section name=domain loop=$tool_domain_list} + + + +{/section} +
Domains
{$tool_domain_list[domain].domain_name}
+ +{if $tool_domain_selected} +
+ + + + +{section name=shard loop=$tool_shard_list} +{if $tool_domain_selected == $tool_shard_list[shard].shard_domain_id} + + + +{/if} +{/section} +
Shards
{$tool_shard_list[shard].shard_name}
+ +
+ + + + +{section name=frame loop=$tool_frame_list} + + + +{/section} +
Time Frame
{$tool_frame_list[frame].title}
+ +{/if} + +
  + +{if $tool_domain_error} + + + + +
{$tool_domain_error}
+{elseif !$tool_domain_selected} + + + + +
You need to select a domain.
+{elseif !$tool_shard_selected} + + + + +
You need to select a shard.
+{elseif !$tool_frame_selected} + + + + +
You need to select a time frame.
+{else} +{if $tool_as_error} + + + + +
{$tool_as_error}
+
+{/if} + + + + +
+{if $tool_rrd_output} +{section name=rrd loop=$tool_rrd_output} + {$tool_rrd_output[rrd].desc}
+
+{/section} +{/if} +
+{/if} + +
+ + +{include file="page_footer.tpl"} diff --git a/code/web/public_php/admin/templates/default/tool_notes.tpl b/code/web/public_php/admin/templates/default/tool_notes.tpl index 56a35c4cf..e0e04106d 100644 --- a/code/web/public_php/admin/templates/default/tool_notes.tpl +++ b/code/web/public_php/admin/templates/default/tool_notes.tpl @@ -1,164 +1,164 @@ - -{include file="page_header.tpl"} - -{literal} - - - -{/literal} - - - - - -
{$tool_alert_message}
- -
- - - - - - - - - - -
- - - - - - - - - - -{if $restriction_tool_notes_global} - -{/if} - - {section name=note loop=$tool_note_list} - - - - - - -{if $restriction_tool_notes_global} - -{/if} - - {/section} -
Notes
IDTitleModeLast UpdateActiveGlobal
{$tool_note_list[note].note_id}{$tool_note_list[note].note_title}{if $tool_note_list[note].note_mode == 0}Text{else}Popup{/if}{$tool_note_list[note].note_date|date_format:"%Y/%m/%d %H:%M:%S"}{if $tool_note_list[note].note_active == 1}Yes{else}No{/if}{if $tool_note_list[note].note_global == 1}Yes{else}No{/if}
-
  - - - - - -{if $tool_note_edit_data.note_id} - - - - -{/if} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{if $restriction_tool_notes_global} - - - - -{/if} - - - - - -
Notes Details
Id :
Title :
Mode :
Text :
URI :
Restriction :
Active : - -
Global : - -
  - -{if $tool_note_edit_data.note_id} - - -{else} - - -{/if} - -
-
- - -{include file="page_footer.tpl"} + +{include file="page_header.tpl"} + +{literal} + + + +{/literal} + + + + + +
{$tool_alert_message}
+ +
+ + + + + + + + + + +
+ + + + + + + + + + +{if $restriction_tool_notes_global} + +{/if} + + {section name=note loop=$tool_note_list} + + + + + + +{if $restriction_tool_notes_global} + +{/if} + + {/section} +
Notes
IDTitleModeLast UpdateActiveGlobal
{$tool_note_list[note].note_id}{$tool_note_list[note].note_title}{if $tool_note_list[note].note_mode == 0}Text{else}Popup{/if}{$tool_note_list[note].note_date|date_format:"%Y/%m/%d %H:%M:%S"}{if $tool_note_list[note].note_active == 1}Yes{else}No{/if}{if $tool_note_list[note].note_global == 1}Yes{else}No{/if}
+
  + + + + + +{if $tool_note_edit_data.note_id} + + + + +{/if} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{if $restriction_tool_notes_global} + + + + +{/if} + + + + + +
Notes Details
Id :
Title :
Mode :
Text :
URI :
Restriction :
Active : + +
Global : + +
  + +{if $tool_note_edit_data.note_id} + + +{else} + + +{/if} + +
+
+ + +{include file="page_footer.tpl"} diff --git a/code/web/public_php/ams/templates/forgot_password.tpl b/code/web/public_php/ams/templates/forgot_password.tpl index 80bea346b..f6fae04d1 100644 --- a/code/web/public_php/ams/templates/forgot_password.tpl +++ b/code/web/public_php/ams/templates/forgot_password.tpl @@ -1,54 +1,54 @@ -{extends file="layout.tpl"} -{block name=content} - -
- -
- -
- -
-{/block} - - +{extends file="layout.tpl"} +{block name=content} + +
+ +
+ +
+ +
+{/block} + + diff --git a/code/web/public_php/ams/templates/register.tpl b/code/web/public_php/ams/templates/register.tpl index 24aac42a2..f14ef9a6c 100644 --- a/code/web/public_php/ams/templates/register.tpl +++ b/code/web/public_php/ams/templates/register.tpl @@ -1,124 +1,124 @@ -{extends file="layout.tpl"} -{block name=content} - -
- -
- -
- -
-{/block} - - +{extends file="layout.tpl"} +{block name=content} + +
+ +
+ +
+ +
+{/block} + + diff --git a/code/web/public_php/ams/templates/reset_password.tpl b/code/web/public_php/ams/templates/reset_password.tpl index 4c5bca351..57d0567ff 100644 --- a/code/web/public_php/ams/templates/reset_password.tpl +++ b/code/web/public_php/ams/templates/reset_password.tpl @@ -1,66 +1,66 @@ -{extends file="layout.tpl"} -{block name=content} - -
- -
- -
- -
-{/block} - - +{extends file="layout.tpl"} +{block name=content} + +
+ +
+ +
+ +
+{/block} + + diff --git a/code/web/public_php/ams/templates/settings.tpl b/code/web/public_php/ams/templates/settings.tpl index 94883c9de..0e04cab17 100644 --- a/code/web/public_php/ams/templates/settings.tpl +++ b/code/web/public_php/ams/templates/settings.tpl @@ -1,382 +1,382 @@ -{block name=content} -
-
-
-
- Change Password -
-
-
-
- Change Password - - {if !isset($changesOther) or $changesOther eq "FALSE"} -
- -
-
- - - {if isset($MATCH_ERROR) and $MATCH_ERROR eq "TRUE"}The password is incorrect{/if} -
-
-
- {/if} -
- -
-
- - - {if isset($NEWPASSWORD_ERROR) and $NEWPASSWORD_ERROR eq "TRUE"}{$newpass_error_message}{/if} -
-
-
- -
- -
-
- - - {if isset($CNEWPASSWORD_ERROR) and $CNEWPASSWORD_ERROR eq "TRUE"}{$confirmnewpass_error_message}{/if} -
-
-
- - - - {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "OK"} -
- The password has been changed! -
- {/if} - - {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "SHARDOFF"} -
- The password has been changed, though the shard seems offline, it may take some time to see the change on the shard. -
- {/if} - - - -
- -
- -
-
-
-
-
-
-
- - {if $permission != '1'} -
-
-
- Add User -
-
-
-
- Add User - -
- -
-
- - - {if isset($USERNAME_ERROR) and $USERNAME_ERROR eq "TRUE"}{$USERNAME}{/if} -
-
-
- -
- -
-
- - - {if isset($PASSWORD_ERROR) and $PASSWORD_ERROR eq "TRUE"}{$PASSWORD}{/if} -
-
-
- -
- -
-
- - - {if isset($CPASSWORD_ERROR) and $CPASSWORD_ERROR eq "TRUE"}{$CPASSWORD}{/if} -
-
-
- -
- -
-
- - - {if isset($EMAIL_ERROR) and $EMAIL_ERROR eq "TRUE" and isset($do)}{$EMAIL}{/if} -
-
-
- - - {if isset($SUCCESS_ADD) and $SUCCESS_ADD eq "ok"} -
- The user has been created! -
- {/if} - - {if isset($SUCCESS_ADD) and $SUCCESS_ADD eq "shardoffline"} -
- The user is created, though the shard seems offline, it may take some time to see the change on the shard. -
- {/if} - - - -
- -
- -
-
-
-
-
-
-
- {/if} - -
-
-
- Change Email -
-
-
-
- Change Email -
- -
-
- - - {if isset($CEMAIL_ERROR) and $CEMAIL_ERROR eq "TRUE"}{$EMAIL}{/if} - -
-
-
- - - {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "OK"} -
- The email has been changed! -
- {/if} - - {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "SHARDOFF"} -
- The email has been changed, though the shard seems offline, it may take some time to see the change on the shard. -
- {/if} - - - -
- -
- -
-
-
-
-
-
-
- -
-
-
- Ticket updates -
- - -
-
-
- Ticket-Update Mail Settings - -
- -
- -
- -
- - - -
- -
- -
-
-
-
-
-
-
- -
-
-
- Change Info -
-
-
-
- Change Info - -
- -
-
- - -
-
-
- -
- -
-
- - -
-
-
- -
- -
- -
-
- -
- -
- -
- -
- -
-
- - {if isset($info_updated) and $info_updated eq "OK"} -
- The Info has been updated! -
- {/if} - - - -
- -
- -
-
-
-
-
-
-
- - {if $permission == '3'} -
-
-
- User Registration -
-
-
-
- User Registration - -
-
- -
- -
- -
- -
-
- - - -
- -
- -
-
-
-
-
-
-
- {/if} - -
- - - -{/block} - +{block name=content} +
+
+
+
+ Change Password +
+
+
+
+ Change Password + + {if !isset($changesOther) or $changesOther eq "FALSE"} +
+ +
+
+ + + {if isset($MATCH_ERROR) and $MATCH_ERROR eq "TRUE"}The password is incorrect{/if} +
+
+
+ {/if} +
+ +
+
+ + + {if isset($NEWPASSWORD_ERROR) and $NEWPASSWORD_ERROR eq "TRUE"}{$newpass_error_message}{/if} +
+
+
+ +
+ +
+
+ + + {if isset($CNEWPASSWORD_ERROR) and $CNEWPASSWORD_ERROR eq "TRUE"}{$confirmnewpass_error_message}{/if} +
+
+
+ + + + {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "OK"} +
+ The password has been changed! +
+ {/if} + + {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "SHARDOFF"} +
+ The password has been changed, though the shard seems offline, it may take some time to see the change on the shard. +
+ {/if} + + + +
+ +
+ +
+
+
+
+
+
+
+ + {if $permission != '1'} +
+
+
+ Add User +
+
+
+
+ Add User + +
+ +
+
+ + + {if isset($USERNAME_ERROR) and $USERNAME_ERROR eq "TRUE"}{$USERNAME}{/if} +
+
+
+ +
+ +
+
+ + + {if isset($PASSWORD_ERROR) and $PASSWORD_ERROR eq "TRUE"}{$PASSWORD}{/if} +
+
+
+ +
+ +
+
+ + + {if isset($CPASSWORD_ERROR) and $CPASSWORD_ERROR eq "TRUE"}{$CPASSWORD}{/if} +
+
+
+ +
+ +
+
+ + + {if isset($EMAIL_ERROR) and $EMAIL_ERROR eq "TRUE" and isset($do)}{$EMAIL}{/if} +
+
+
+ + + {if isset($SUCCESS_ADD) and $SUCCESS_ADD eq "ok"} +
+ The user has been created! +
+ {/if} + + {if isset($SUCCESS_ADD) and $SUCCESS_ADD eq "shardoffline"} +
+ The user is created, though the shard seems offline, it may take some time to see the change on the shard. +
+ {/if} + + + +
+ +
+ +
+
+
+
+
+
+
+ {/if} + +
+
+
+ Change Email +
+
+
+
+ Change Email +
+ +
+
+ + + {if isset($CEMAIL_ERROR) and $CEMAIL_ERROR eq "TRUE"}{$EMAIL}{/if} + +
+
+
+ + + {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "OK"} +
+ The email has been changed! +
+ {/if} + + {if isset($SUCCESS_MAIL) and $SUCCESS_MAIL eq "SHARDOFF"} +
+ The email has been changed, though the shard seems offline, it may take some time to see the change on the shard. +
+ {/if} + + + +
+ +
+ +
+
+
+
+
+
+
+ +
+
+
+ Ticket updates +
+ + +
+
+
+ Ticket-Update Mail Settings + +
+ +
+ +
+ +
+ + + +
+ +
+ +
+
+
+
+
+
+
+ +
+
+
+ Change Info +
+
+
+
+ Change Info + +
+ +
+
+ + +
+
+
+ +
+ +
+
+ + +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+ + {if isset($info_updated) and $info_updated eq "OK"} +
+ The Info has been updated! +
+ {/if} + + + +
+ +
+ +
+
+
+
+
+
+
+ + {if $permission == '3'} +
+
+
+ User Registration +
+
+
+
+ User Registration + +
+
+ +
+ +
+ +
+ +
+
+ + + +
+ +
+ +
+
+
+
+
+
+
+ {/if} + +
+ + + +{/block} + From d23b5de2b54c4469e46877b9e677fe36670d68e3 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 6 Mar 2015 23:59:30 +0100 Subject: [PATCH 22/73] Added tag ryzomcore/v0.11.3 for changeset bfe5628e14a0 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 80061a2ee..315e68df2 100644 --- a/.hgtags +++ b/.hgtags @@ -6,3 +6,4 @@ fedf2aa443d09707beed814b0f499c6a5519cc84 ryzomcore/v0.10.0 edaa3624a56420b02ccc64c26059801a389927ee ryzomcore/v0.11.0 e3fe4855f22c3e75722e015dc33c091c340b3ad7 ryzomcore/v0.11.1 9e583b717fd63be0be9fd60b99087abf1691ea49 ryzomcore/v0.11.2 +bfe5628e14a024ba7ea32e4b326ae433a07856b9 ryzomcore/v0.11.3 From 80874abf68bfd725dbb10af5795c4817109c36f2 Mon Sep 17 00:00:00 2001 From: kervala Date: Tue, 24 Mar 2015 15:26:34 +0100 Subject: [PATCH 23/73] Fixed compilation (setReportEmailFunction doesn't exist anymore) --HG-- branch : develop --- code/ryzom/client/src/bug_report/bug_reportDlg.cpp | 4 ++-- code/ryzom/client/src/client.cpp | 6 +++--- code/ryzom/client/src/init.cpp | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) 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 1b4285dd5..d3bb5254e 100644 --- a/code/ryzom/client/src/client.cpp +++ b/code/ryzom/client/src/client.cpp @@ -436,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/init.cpp b/code/ryzom/client/src/init.cpp index 5484141a2..a6883eacd 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -846,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"); From d76d8e52c984701bdc1fe5c8b05f036365ef42b9 Mon Sep 17 00:00:00 2001 From: kervala Date: Tue, 24 Mar 2015 15:51:32 +0100 Subject: [PATCH 24/73] Fixed compilation with GCC --HG-- branch : hotfix --- code/nel/include/nel/misc/string_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/code/nel/include/nel/misc/string_common.h b/code/nel/include/nel/misc/string_common.h index 4a455247d..d6f7eec70 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 From e0d4aa1e7b014ced152ce16c71e9f57180d42935 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 29 Mar 2015 03:14:06 +0200 Subject: [PATCH 25/73] Add Wang hash functions --HG-- branch : develop --- code/nel/include/nel/misc/wang_hash.h | 74 +++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 code/nel/include/nel/misc/wang_hash.h 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 From c760b1e3d9309092247b1108fd13939494f876b3 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 29 Mar 2015 17:28:33 +0300 Subject: [PATCH 26/73] Add embolden, oblique font styles (NL3D) --HG-- branch : develop --- code/nel/include/nel/3d/font_generator.h | 4 +++- code/nel/include/nel/3d/font_manager.h | 8 +++++++ code/nel/include/nel/3d/text_context.h | 22 ++++++++++++++----- code/nel/include/nel/3d/text_context_user.h | 4 ++++ code/nel/include/nel/3d/texture_font.h | 4 ++++ code/nel/include/nel/3d/u_text_context.h | 18 ++++++++++++++++ code/nel/src/3d/font_generator.cpp | 15 +++++++++++-- code/nel/src/3d/font_manager.cpp | 12 ++++++++++- code/nel/src/3d/ps_util.cpp | 2 ++ code/nel/src/3d/text_context.cpp | 6 ++++-- code/nel/src/3d/text_context_user.cpp | 24 +++++++++++++++++++++ code/nel/src/3d/texture_font.cpp | 19 +++++++++++----- 12 files changed, 122 insertions(+), 16 deletions(-) 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/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; From 1a5a0d5acbcf3dfb41a08ae35a78ca082514e22d Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 29 Mar 2015 16:58:07 +0200 Subject: [PATCH 27/73] Fix CHashCode compare operator --HG-- branch : develop --- code/ryzom/common/src/game_share/base_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/common/src/game_share/base_types.h b/code/ryzom/common/src/game_share/base_types.h index 5330537b7..f24daa69a 100644 --- a/code/ryzom/common/src/game_share/base_types.h +++ b/code/ryzom/common/src/game_share/base_types.h @@ -242,7 +242,7 @@ public: 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) From ec307351982e30979e459ebcdbf6a67064eea696 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 29 Mar 2015 16:58:07 +0200 Subject: [PATCH 28/73] Fixup some more hashes --HG-- branch : develop --- code/nel/include/nel/misc/entity_id.h | 6 +++++- code/nel/include/nel/misc/ucstring.h | 2 +- code/nel/include/nel/sound/context_sound.h | 16 ++++++++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/code/nel/include/nel/misc/entity_id.h b/code/nel/include/nel/misc/entity_id.h index b4e40909e..8c80daaba 100644 --- a/code/nel/include/nel/misc/entity_id.h +++ b/code/nel/include/nel/misc/entity_id.h @@ -580,7 +580,11 @@ struct 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/ucstring.h b/code/nel/include/nel/misc/ucstring.h index 88e599c1a..2f921f9ae 100644 --- a/code/nel/include/nel/misc/ucstring.h +++ b/code/nel/include/nel/misc/ucstring.h @@ -363,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/sound/context_sound.h b/code/nel/include/nel/sound/context_sound.h index 8424ee087..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); @@ -89,10 +102,9 @@ struct CContextMatcher } bool operator() (const CContextMatcher &patternMatcher1, const CContextMatcher &patternMatcher2) const { - return patternMatcher1.getHashValue() < patternMatcher2.getHashValue(); + return patternMatcher1 < patternMatcher2; } }; - }; From 769d5190c545b313610a6fb96932959976060158 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 29 Mar 2015 16:58:07 +0200 Subject: [PATCH 29/73] Fixes for VS2013, ref #236 --HG-- branch : develop --- .../phrase_manager/fg_prospection_phrase.cpp | 1 + .../player_manager/character.cpp | 2 +- .../player_manager/db_string_updater.h | 13 +++++++++++++ .../player_manager/player_manager.h | 1 + .../player_manager/player_manager_interface.h | 3 ++- .../src/persistant_data_service/db_manager.cpp | 2 +- 6 files changed, 19 insertions(+), 3 deletions(-) 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/character.cpp b/code/ryzom/server/src/entities_game_service/player_manager/character.cpp index 3c72995ea..b5cb58a07 100644 --- a/code/ryzom/server/src/entities_game_service/player_manager/character.cpp +++ b/code/ryzom/server/src/entities_game_service/player_manager/character.cpp @@ -8028,7 +8028,7 @@ void CCharacter::setStartStatistics( const CCreateCharMsg& createCharMsg ) } // create character start skills, skill point and money - string s = CreateCharacterStartSkillsValue; + string s = CreateCharacterStartSkillsValue.get(); if( s.size() > 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 7603c92e9..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,6 +48,15 @@ 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 @@ -58,6 +67,10 @@ class CDBStringUpdater : public NLMISC::CSingleton { 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 ba0d1c306..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 @@ -52,6 +52,7 @@ struct CServiceIdHash { 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 3e5de3130..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 @@ -44,7 +44,8 @@ public: struct CUint32Hash { enum { bucket_size = 4, min_buckets = 8, }; - size_t operator () ( const uint32 &i ) const { return i; } + 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/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; } From 5bb34b12f44633274c8db2e08d928177e06b14f1 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 29 Mar 2015 16:58:07 +0200 Subject: [PATCH 30/73] Use unordered set and map for VS2013, ref #236 --HG-- branch : develop --- code/nel/include/nel/misc/types_nl.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/nel/include/nel/misc/types_nl.h b/code/nel/include/nel/misc/types_nl.h index 2461cb5e6..3102238bd 100644 --- a/code/nel/include/nel/misc/types_nl.h +++ b/code/nel/include/nel/misc/types_nl.h @@ -417,12 +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 >= 120) -# include -# include -# define CHashMap ::std::hash_map -# define CHashSet ::std::hash_set -# define CHashMultiMap ::std::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 From 55672485c97cb67d90319718fbfcdc971da27260 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 29 Mar 2015 18:24:16 +0300 Subject: [PATCH 31/73] Add embolden, oblique, underline, strikethrough styles to CViewText --HG-- branch : develop --- code/nel/include/nel/gui/view_text.h | 9 ++ code/nel/src/gui/view_text.cpp | 121 ++++++++++++++++++++++++++- 2 files changed, 129 insertions(+), 1 deletion(-) 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/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 From eeb881d49e24921910115b23ca958384a263458d Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 29 Mar 2015 18:24:19 +0300 Subject: [PATCH 32/73] Add span tag and bold, italic, underline, strikethrough styles to CGroupHTML --HG-- branch : develop --- code/nel/include/nel/gui/group_html.h | 56 +++++++++- code/nel/include/nel/gui/libwww.h | 7 ++ code/nel/src/gui/group_html.cpp | 144 +++++++++++++++++++++++++- code/nel/src/gui/libwww.cpp | 10 ++ 4 files changed, 213 insertions(+), 4 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 4f9bee46c..920c58948 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -425,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 @@ -544,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; @@ -613,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/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/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); From 2da42040ef118b0d54f87b445c557543c20e28a1 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Mon, 30 Mar 2015 11:22:25 +0200 Subject: [PATCH 33/73] Apply bayer dither to TGA16 export for smoother lightmaps --HG-- branch : develop --- code/nel/tools/3d/tga_2_dds/tga2dds.cpp | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/code/nel/tools/3d/tga_2_dds/tga2dds.cpp b/code/nel/tools/3d/tga_2_dds/tga2dds.cpp index 292280349..19fd70d32 100644 --- a/code/nel/tools/3d/tga_2_dds/tga2dds.cpp +++ b/code/nel/tools/3d/tga_2_dds/tga2dds.cpp @@ -359,6 +359,13 @@ void dividSize (CBitmap &bitmap) } } +const int bayerDiv8[4][4] = { + 0, 4, 1, 5, + 6, 2, 7, 3, + 1, 5, 0, 4, + 7, 3, 6, 2, +}; + // *************************************************************************** int main(int argc, char **argv) { @@ -601,6 +608,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 + bayerDiv8[x % 4][y % 4]); + c.G = (uint8)std::min(255, (int)c.G + bayerDiv8[x % 4][y % 4]); + c.B = (uint8)std::min(255, (int)c.B + bayerDiv8[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)) { From 2d74de8a361d38982c5121354f6071df5ea3d78e Mon Sep 17 00:00:00 2001 From: kaetemi Date: Mon, 30 Mar 2015 12:04:35 +0200 Subject: [PATCH 34/73] Separate dither matrix per color channel --HG-- branch : develop --- code/nel/tools/3d/tga_2_dds/tga2dds.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/code/nel/tools/3d/tga_2_dds/tga2dds.cpp b/code/nel/tools/3d/tga_2_dds/tga2dds.cpp index 19fd70d32..34b47735f 100644 --- a/code/nel/tools/3d/tga_2_dds/tga2dds.cpp +++ b/code/nel/tools/3d/tga_2_dds/tga2dds.cpp @@ -359,13 +359,27 @@ void dividSize (CBitmap &bitmap) } } -const int bayerDiv8[4][4] = { +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) { @@ -618,9 +632,9 @@ int main(int argc, char **argv) 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 + bayerDiv8[x % 4][y % 4]); - c.G = (uint8)std::min(255, (int)c.G + bayerDiv8[x % 4][y % 4]); - c.B = (uint8)std::min(255, (int)c.B + bayerDiv8[x % 4][y % 4]); + 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) From f2b857dc7a7ed6812f060f329e8d566f6ef68a3f Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 4 Apr 2015 18:44:26 +0200 Subject: [PATCH 35/73] Added Debian/Ubuntu packaging files --HG-- branch : develop --- dist/debian/precise/debian/changelog | 414 +++++++++++++ dist/debian/precise/debian/client_default.cfg | 567 ++++++++++++++++++ dist/debian/precise/debian/compat | 1 + dist/debian/precise/debian/control | 212 +++++++ dist/debian/precise/debian/copyright | 53 ++ dist/debian/precise/debian/docs | 2 + dist/debian/precise/debian/libnel-dev.docs | 2 + dist/debian/precise/debian/libnel-dev.install | 11 + .../debian/precise/debian/libnel-dev.manpages | 1 + .../precise/debian/libnel-doc.doc-base.nel | 9 + dist/debian/precise/debian/libnel-doc.install | 1 + dist/debian/precise/debian/libnel0.install | 3 + .../debian/libryzom-clientsheets0.install | 2 + .../debian/libryzom-gameshare0.install | 2 + .../precise/debian/libryzom-sevenzip0.install | 2 + dist/debian/precise/debian/nel-config.1 | 37 ++ dist/debian/precise/debian/nel-tools.install | 91 +++ dist/debian/precise/debian/rules | 19 + dist/debian/precise/debian/ryzom | 116 ++++ .../debian/ryzom-client-config.install | 1 + dist/debian/precise/debian/ryzom-client.dirs | 4 + .../precise/debian/ryzom-client.install | 4 + dist/debian/precise/debian/ryzom-client.menu | 6 + .../precise/debian/ryzom-client.postinst | 10 + .../debian/precise/debian/ryzom-client.postrm | 49 ++ .../debian/precise/debian/ryzom-tools.install | 26 + .../precise/debian/ryzom_client.desktop | 11 + dist/debian/precise/debian/source/format | 2 + dist/debian/readme.txt | 4 + dist/debian/ryzom_version.sh | 37 ++ dist/debian/trusty/debian/changelog | 408 +++++++++++++ dist/debian/trusty/debian/client_default.cfg | 567 ++++++++++++++++++ dist/debian/trusty/debian/compat | 1 + dist/debian/trusty/debian/control | 212 +++++++ dist/debian/trusty/debian/copyright | 53 ++ dist/debian/trusty/debian/docs | 2 + dist/debian/trusty/debian/libnel-dev.docs | 2 + dist/debian/trusty/debian/libnel-dev.install | 3 + dist/debian/trusty/debian/libnel-dev.manpages | 1 + .../trusty/debian/libnel-doc.doc-base.nel | 9 + dist/debian/trusty/debian/libnel-doc.install | 1 + dist/debian/trusty/debian/libnel0.install | 3 + .../debian/libryzom-clientsheets0.install | 2 + .../trusty/debian/libryzom-gameshare0.install | 2 + .../trusty/debian/libryzom-sevenzip0.install | 2 + dist/debian/trusty/debian/nel-config.1 | 37 ++ dist/debian/trusty/debian/nel-tools.install | 91 +++ dist/debian/trusty/debian/rules | 19 + dist/debian/trusty/debian/ryzom | 116 ++++ .../trusty/debian/ryzom-client-config.install | 1 + dist/debian/trusty/debian/ryzom-client.dirs | 4 + .../debian/trusty/debian/ryzom-client.install | 4 + dist/debian/trusty/debian/ryzom-client.menu | 6 + .../trusty/debian/ryzom-client.postinst | 10 + dist/debian/trusty/debian/ryzom-client.postrm | 49 ++ dist/debian/trusty/debian/ryzom-tools.install | 26 + .../debian/trusty/debian/ryzom_client.desktop | 11 + dist/debian/trusty/debian/source/format | 2 + dist/debian/update.sh | 47 ++ dist/debian/update_debian.sh | 88 +++ dist/debian/utopic/debian/changelog | 408 +++++++++++++ dist/debian/utopic/debian/client_default.cfg | 567 ++++++++++++++++++ dist/debian/utopic/debian/compat | 1 + dist/debian/utopic/debian/control | 212 +++++++ dist/debian/utopic/debian/copyright | 53 ++ dist/debian/utopic/debian/docs | 2 + dist/debian/utopic/debian/libnel-dev.docs | 2 + dist/debian/utopic/debian/libnel-dev.install | 3 + dist/debian/utopic/debian/libnel-dev.manpages | 1 + .../utopic/debian/libnel-doc.doc-base.nel | 9 + dist/debian/utopic/debian/libnel-doc.install | 1 + dist/debian/utopic/debian/libnel0.install | 3 + .../debian/libryzom-clientsheets0.install | 2 + .../utopic/debian/libryzom-gameshare0.install | 2 + .../utopic/debian/libryzom-sevenzip0.install | 2 + dist/debian/utopic/debian/nel-config.1 | 37 ++ dist/debian/utopic/debian/nel-tools.install | 91 +++ dist/debian/utopic/debian/rules | 19 + dist/debian/utopic/debian/ryzom | 116 ++++ .../utopic/debian/ryzom-client-config.install | 1 + dist/debian/utopic/debian/ryzom-client.dirs | 4 + .../debian/utopic/debian/ryzom-client.install | 4 + dist/debian/utopic/debian/ryzom-client.menu | 6 + .../utopic/debian/ryzom-client.postinst | 10 + dist/debian/utopic/debian/ryzom-client.postrm | 49 ++ dist/debian/utopic/debian/ryzom-tools.install | 26 + .../debian/utopic/debian/ryzom_client.desktop | 11 + dist/debian/utopic/debian/source/format | 2 + dist/debian/vivid/debian/changelog | 408 +++++++++++++ dist/debian/vivid/debian/client_default.cfg | 567 ++++++++++++++++++ dist/debian/vivid/debian/compat | 1 + dist/debian/vivid/debian/control | 212 +++++++ dist/debian/vivid/debian/copyright | 53 ++ dist/debian/vivid/debian/docs | 2 + dist/debian/vivid/debian/libnel-dev.docs | 2 + dist/debian/vivid/debian/libnel-dev.install | 3 + dist/debian/vivid/debian/libnel-dev.manpages | 1 + .../vivid/debian/libnel-doc.doc-base.nel | 9 + dist/debian/vivid/debian/libnel-doc.install | 1 + dist/debian/vivid/debian/libnel0.install | 3 + .../debian/libryzom-clientsheets0.install | 2 + .../vivid/debian/libryzom-gameshare0.install | 2 + .../vivid/debian/libryzom-sevenzip0.install | 2 + dist/debian/vivid/debian/nel-config.1 | 37 ++ dist/debian/vivid/debian/nel-tools.install | 91 +++ dist/debian/vivid/debian/rules | 19 + dist/debian/vivid/debian/ryzom | 116 ++++ .../vivid/debian/ryzom-client-config.install | 1 + dist/debian/vivid/debian/ryzom-client.dirs | 4 + dist/debian/vivid/debian/ryzom-client.install | 4 + dist/debian/vivid/debian/ryzom-client.menu | 6 + .../debian/vivid/debian/ryzom-client.postinst | 10 + dist/debian/vivid/debian/ryzom-client.postrm | 49 ++ dist/debian/vivid/debian/ryzom-tools.install | 26 + dist/debian/vivid/debian/ryzom_client.desktop | 11 + dist/debian/vivid/debian/source/format | 2 + 116 files changed, 6766 insertions(+) create mode 100644 dist/debian/precise/debian/changelog create mode 100644 dist/debian/precise/debian/client_default.cfg create mode 100644 dist/debian/precise/debian/compat create mode 100644 dist/debian/precise/debian/control create mode 100644 dist/debian/precise/debian/copyright create mode 100644 dist/debian/precise/debian/docs create mode 100644 dist/debian/precise/debian/libnel-dev.docs create mode 100644 dist/debian/precise/debian/libnel-dev.install create mode 100644 dist/debian/precise/debian/libnel-dev.manpages create mode 100644 dist/debian/precise/debian/libnel-doc.doc-base.nel create mode 100644 dist/debian/precise/debian/libnel-doc.install create mode 100644 dist/debian/precise/debian/libnel0.install create mode 100644 dist/debian/precise/debian/libryzom-clientsheets0.install create mode 100644 dist/debian/precise/debian/libryzom-gameshare0.install create mode 100644 dist/debian/precise/debian/libryzom-sevenzip0.install create mode 100644 dist/debian/precise/debian/nel-config.1 create mode 100644 dist/debian/precise/debian/nel-tools.install create mode 100644 dist/debian/precise/debian/rules create mode 100644 dist/debian/precise/debian/ryzom create mode 100644 dist/debian/precise/debian/ryzom-client-config.install create mode 100644 dist/debian/precise/debian/ryzom-client.dirs create mode 100644 dist/debian/precise/debian/ryzom-client.install create mode 100644 dist/debian/precise/debian/ryzom-client.menu create mode 100644 dist/debian/precise/debian/ryzom-client.postinst create mode 100644 dist/debian/precise/debian/ryzom-client.postrm create mode 100644 dist/debian/precise/debian/ryzom-tools.install create mode 100644 dist/debian/precise/debian/ryzom_client.desktop create mode 100644 dist/debian/precise/debian/source/format create mode 100644 dist/debian/readme.txt create mode 100644 dist/debian/ryzom_version.sh create mode 100644 dist/debian/trusty/debian/changelog create mode 100644 dist/debian/trusty/debian/client_default.cfg create mode 100644 dist/debian/trusty/debian/compat create mode 100644 dist/debian/trusty/debian/control create mode 100644 dist/debian/trusty/debian/copyright create mode 100644 dist/debian/trusty/debian/docs create mode 100644 dist/debian/trusty/debian/libnel-dev.docs create mode 100644 dist/debian/trusty/debian/libnel-dev.install create mode 100644 dist/debian/trusty/debian/libnel-dev.manpages create mode 100644 dist/debian/trusty/debian/libnel-doc.doc-base.nel create mode 100644 dist/debian/trusty/debian/libnel-doc.install create mode 100644 dist/debian/trusty/debian/libnel0.install create mode 100644 dist/debian/trusty/debian/libryzom-clientsheets0.install create mode 100644 dist/debian/trusty/debian/libryzom-gameshare0.install create mode 100644 dist/debian/trusty/debian/libryzom-sevenzip0.install create mode 100644 dist/debian/trusty/debian/nel-config.1 create mode 100644 dist/debian/trusty/debian/nel-tools.install create mode 100644 dist/debian/trusty/debian/rules create mode 100644 dist/debian/trusty/debian/ryzom create mode 100644 dist/debian/trusty/debian/ryzom-client-config.install create mode 100644 dist/debian/trusty/debian/ryzom-client.dirs create mode 100644 dist/debian/trusty/debian/ryzom-client.install create mode 100644 dist/debian/trusty/debian/ryzom-client.menu create mode 100644 dist/debian/trusty/debian/ryzom-client.postinst create mode 100644 dist/debian/trusty/debian/ryzom-client.postrm create mode 100644 dist/debian/trusty/debian/ryzom-tools.install create mode 100644 dist/debian/trusty/debian/ryzom_client.desktop create mode 100644 dist/debian/trusty/debian/source/format create mode 100644 dist/debian/update.sh create mode 100644 dist/debian/update_debian.sh create mode 100644 dist/debian/utopic/debian/changelog create mode 100644 dist/debian/utopic/debian/client_default.cfg create mode 100644 dist/debian/utopic/debian/compat create mode 100644 dist/debian/utopic/debian/control create mode 100644 dist/debian/utopic/debian/copyright create mode 100644 dist/debian/utopic/debian/docs create mode 100644 dist/debian/utopic/debian/libnel-dev.docs create mode 100644 dist/debian/utopic/debian/libnel-dev.install create mode 100644 dist/debian/utopic/debian/libnel-dev.manpages create mode 100644 dist/debian/utopic/debian/libnel-doc.doc-base.nel create mode 100644 dist/debian/utopic/debian/libnel-doc.install create mode 100644 dist/debian/utopic/debian/libnel0.install create mode 100644 dist/debian/utopic/debian/libryzom-clientsheets0.install create mode 100644 dist/debian/utopic/debian/libryzom-gameshare0.install create mode 100644 dist/debian/utopic/debian/libryzom-sevenzip0.install create mode 100644 dist/debian/utopic/debian/nel-config.1 create mode 100644 dist/debian/utopic/debian/nel-tools.install create mode 100644 dist/debian/utopic/debian/rules create mode 100644 dist/debian/utopic/debian/ryzom create mode 100644 dist/debian/utopic/debian/ryzom-client-config.install create mode 100644 dist/debian/utopic/debian/ryzom-client.dirs create mode 100644 dist/debian/utopic/debian/ryzom-client.install create mode 100644 dist/debian/utopic/debian/ryzom-client.menu create mode 100644 dist/debian/utopic/debian/ryzom-client.postinst create mode 100644 dist/debian/utopic/debian/ryzom-client.postrm create mode 100644 dist/debian/utopic/debian/ryzom-tools.install create mode 100644 dist/debian/utopic/debian/ryzom_client.desktop create mode 100644 dist/debian/utopic/debian/source/format create mode 100644 dist/debian/vivid/debian/changelog create mode 100644 dist/debian/vivid/debian/client_default.cfg create mode 100644 dist/debian/vivid/debian/compat create mode 100644 dist/debian/vivid/debian/control create mode 100644 dist/debian/vivid/debian/copyright create mode 100644 dist/debian/vivid/debian/docs create mode 100644 dist/debian/vivid/debian/libnel-dev.docs create mode 100644 dist/debian/vivid/debian/libnel-dev.install create mode 100644 dist/debian/vivid/debian/libnel-dev.manpages create mode 100644 dist/debian/vivid/debian/libnel-doc.doc-base.nel create mode 100644 dist/debian/vivid/debian/libnel-doc.install create mode 100644 dist/debian/vivid/debian/libnel0.install create mode 100644 dist/debian/vivid/debian/libryzom-clientsheets0.install create mode 100644 dist/debian/vivid/debian/libryzom-gameshare0.install create mode 100644 dist/debian/vivid/debian/libryzom-sevenzip0.install create mode 100644 dist/debian/vivid/debian/nel-config.1 create mode 100644 dist/debian/vivid/debian/nel-tools.install create mode 100644 dist/debian/vivid/debian/rules create mode 100644 dist/debian/vivid/debian/ryzom create mode 100644 dist/debian/vivid/debian/ryzom-client-config.install create mode 100644 dist/debian/vivid/debian/ryzom-client.dirs create mode 100644 dist/debian/vivid/debian/ryzom-client.install create mode 100644 dist/debian/vivid/debian/ryzom-client.menu create mode 100644 dist/debian/vivid/debian/ryzom-client.postinst create mode 100644 dist/debian/vivid/debian/ryzom-client.postrm create mode 100644 dist/debian/vivid/debian/ryzom-tools.install create mode 100644 dist/debian/vivid/debian/ryzom_client.desktop create mode 100644 dist/debian/vivid/debian/source/format 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..d8873ec28 --- /dev/null +++ b/dist/debian/precise/debian/libnel-dev.install @@ -0,0 +1,11 @@ +usr/include/* +usr/lib/*/libnel3d.so +usr/lib/*/libnelgeorges.so +usr/lib/*/libnelligo.so +usr/lib/*/libnellogic.so +usr/lib/*/libnelmisc.so +usr/lib/*/libnelnet.so +usr/lib/*/libnelpacs.so +usr/lib/*/libnelsnd_lowlevel.so +usr/lib/*/libnelsound.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..7625eea68 --- /dev/null +++ b/dist/debian/precise/debian/nel-tools.install @@ -0,0 +1,91 @@ +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/object_viewer_qt +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/*/libovqt_plugin_core.* +usr/lib/*/libs3tc_compressor.so.* +usr/lib/*/object_viewer_qt +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/object_viewer_qt +usr/share/nel/zviewer diff --git a/dist/debian/precise/debian/rules b/dist/debian/precise/debian/rules new file mode 100644 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 100644 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/ryzom_version.sh b/dist/debian/ryzom_version.sh new file mode 100644 index 000000000..c072095f2 --- /dev/null +++ b/dist/debian/ryzom_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..cf8840bb2 --- /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.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/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..7625eea68 --- /dev/null +++ b/dist/debian/trusty/debian/nel-tools.install @@ -0,0 +1,91 @@ +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/object_viewer_qt +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/*/libovqt_plugin_core.* +usr/lib/*/libs3tc_compressor.so.* +usr/lib/*/object_viewer_qt +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/object_viewer_qt +usr/share/nel/zviewer diff --git a/dist/debian/trusty/debian/rules b/dist/debian/trusty/debian/rules new file mode 100644 index 000000000..26ace8254 --- /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_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 100644 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 100644 index 000000000..2086a5247 --- /dev/null +++ b/dist/debian/update.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +HGBIN="/usr/bin/hg" +CODEROOT=../.. + +# download packaging stuff +echo "Updating packaging files..." +$HGBIN pull && $HGBIN update + +echo "Generating changelogs..." +$HGBIN log -M --style $CODEROOT/changelog.template > $CODEROOT/changelog + +REVISION=`$HGBIN identify -n` +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 100644 index 000000000..b74dd862a --- /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` + +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..cf8840bb2 --- /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.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/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..7625eea68 --- /dev/null +++ b/dist/debian/utopic/debian/nel-tools.install @@ -0,0 +1,91 @@ +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/object_viewer_qt +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/*/libovqt_plugin_core.* +usr/lib/*/libs3tc_compressor.so.* +usr/lib/*/object_viewer_qt +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/object_viewer_qt +usr/share/nel/zviewer diff --git a/dist/debian/utopic/debian/rules b/dist/debian/utopic/debian/rules new file mode 100644 index 000000000..26ace8254 --- /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_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 100644 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..cf8840bb2 --- /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.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/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..7625eea68 --- /dev/null +++ b/dist/debian/vivid/debian/nel-tools.install @@ -0,0 +1,91 @@ +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/object_viewer_qt +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/*/libovqt_plugin_core.* +usr/lib/*/libs3tc_compressor.so.* +usr/lib/*/object_viewer_qt +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/object_viewer_qt +usr/share/nel/zviewer diff --git a/dist/debian/vivid/debian/rules b/dist/debian/vivid/debian/rules new file mode 100644 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 100644 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 + From 78515477e93dfc0b0ff50730e66e9e80e906d2db Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 4 Apr 2015 18:53:22 +0200 Subject: [PATCH 36/73] Set executable flag for Debian packaging scripts --HG-- branch : develop --- dist/debian/precise/debian/rules | 0 dist/debian/ryzom_version.sh | 0 dist/debian/trusty/debian/rules | 0 dist/debian/update.sh | 0 dist/debian/update_debian.sh | 0 dist/debian/utopic/debian/rules | 0 dist/debian/vivid/debian/rules | 0 7 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 dist/debian/precise/debian/rules mode change 100644 => 100755 dist/debian/ryzom_version.sh mode change 100644 => 100755 dist/debian/trusty/debian/rules mode change 100644 => 100755 dist/debian/update.sh mode change 100644 => 100755 dist/debian/update_debian.sh mode change 100644 => 100755 dist/debian/utopic/debian/rules mode change 100644 => 100755 dist/debian/vivid/debian/rules diff --git a/dist/debian/precise/debian/rules b/dist/debian/precise/debian/rules old mode 100644 new mode 100755 diff --git a/dist/debian/ryzom_version.sh b/dist/debian/ryzom_version.sh old mode 100644 new mode 100755 diff --git a/dist/debian/trusty/debian/rules b/dist/debian/trusty/debian/rules old mode 100644 new mode 100755 diff --git a/dist/debian/update.sh b/dist/debian/update.sh old mode 100644 new mode 100755 diff --git a/dist/debian/update_debian.sh b/dist/debian/update_debian.sh old mode 100644 new mode 100755 diff --git a/dist/debian/utopic/debian/rules b/dist/debian/utopic/debian/rules old mode 100644 new mode 100755 diff --git a/dist/debian/vivid/debian/rules b/dist/debian/vivid/debian/rules old mode 100644 new mode 100755 From bf388216673fad9cc908f5c2bebfb515dff8e042 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 4 Apr 2015 19:03:03 +0200 Subject: [PATCH 37/73] Fixed Debian packaging stuff --HG-- branch : develop --- dist/debian/precise/debian/ryzom | 0 dist/debian/{ryzom_version.sh => ryzomcore_version.sh} | 0 dist/debian/trusty/debian/control | 2 +- dist/debian/trusty/debian/ryzom | 0 dist/debian/update.sh | 8 ++------ dist/debian/update_debian.sh | 2 +- dist/debian/utopic/debian/ryzom | 0 dist/debian/vivid/debian/ryzom | 0 8 files changed, 4 insertions(+), 8 deletions(-) mode change 100644 => 100755 dist/debian/precise/debian/ryzom rename dist/debian/{ryzom_version.sh => ryzomcore_version.sh} (100%) mode change 100644 => 100755 dist/debian/trusty/debian/ryzom mode change 100644 => 100755 dist/debian/utopic/debian/ryzom mode change 100644 => 100755 dist/debian/vivid/debian/ryzom diff --git a/dist/debian/precise/debian/ryzom b/dist/debian/precise/debian/ryzom old mode 100644 new mode 100755 diff --git a/dist/debian/ryzom_version.sh b/dist/debian/ryzomcore_version.sh similarity index 100% rename from dist/debian/ryzom_version.sh rename to dist/debian/ryzomcore_version.sh diff --git a/dist/debian/trusty/debian/control b/dist/debian/trusty/debian/control index cf8840bb2..e662d1f37 100644 --- a/dist/debian/trusty/debian/control +++ b/dist/debian/trusty/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper (>= 9), cmake(>= 2.6), libxml2-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 +Standards-Version: 3.9.5 Section: games Bugs: http://dev.ryzom.com/projects/ryzom/issues Homepage: http://dev.ryzom.com diff --git a/dist/debian/trusty/debian/ryzom b/dist/debian/trusty/debian/ryzom old mode 100644 new mode 100755 diff --git a/dist/debian/update.sh b/dist/debian/update.sh index 2086a5247..a68d3edb4 100755 --- a/dist/debian/update.sh +++ b/dist/debian/update.sh @@ -1,16 +1,12 @@ #!/bin/sh HGBIN="/usr/bin/hg" -CODEROOT=../.. - -# download packaging stuff -echo "Updating packaging files..." -$HGBIN pull && $HGBIN update +CODEROOT=../../code echo "Generating changelogs..." $HGBIN log -M --style $CODEROOT/changelog.template > $CODEROOT/changelog -REVISION=`$HGBIN identify -n` +REVISION=$($HGBIN identify -n | grep -o -P "[0-9]+") echo "Found revision $REVISION" REVISION_H=$CODEROOT/revision.h diff --git a/dist/debian/update_debian.sh b/dist/debian/update_debian.sh index b74dd862a..8c2c5dd7d 100755 --- a/dist/debian/update_debian.sh +++ b/dist/debian/update_debian.sh @@ -38,7 +38,7 @@ then exit 1 fi -REVISION=`$HGBIN identify -n` +REVISION=$($HGBIN identify -n | grep -o -P "[0-9]+") DSTFOLDER=ryzom-core-$VERSION.$REVISION diff --git a/dist/debian/utopic/debian/ryzom b/dist/debian/utopic/debian/ryzom old mode 100644 new mode 100755 diff --git a/dist/debian/vivid/debian/ryzom b/dist/debian/vivid/debian/ryzom old mode 100644 new mode 100755 From 87c198efbe02ff3a3d36239e6d04b5db5fcf671c Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 5 Apr 2015 13:52:05 +0200 Subject: [PATCH 38/73] Fixed compilation of font sample --HG-- branch : develop --- code/nel/samples/3d/font/main.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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()); From 7123687d5a4735b0cab6831a3df531445bb1ad72 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 5 Apr 2015 16:21:21 +0200 Subject: [PATCH 39/73] Removed old object_viewer_qt files --HG-- branch : develop --- dist/debian/precise/debian/nel-tools.install | 4 ---- dist/debian/trusty/debian/nel-tools.install | 4 ---- dist/debian/utopic/debian/nel-tools.install | 4 ---- dist/debian/vivid/debian/nel-tools.install | 4 ---- 4 files changed, 16 deletions(-) diff --git a/dist/debian/precise/debian/nel-tools.install b/dist/debian/precise/debian/nel-tools.install index 7625eea68..4ca03208c 100644 --- a/dist/debian/precise/debian/nel-tools.install +++ b/dist/debian/precise/debian/nel-tools.install @@ -57,7 +57,6 @@ usr/bin/nl_sample_stream_ogg_vorbis usr/bin/nl_sample_strings usr/bin/nl_sample_udpclient usr/bin/nl_sample_udpserver -usr/bin/object_viewer_qt usr/bin/panoply_maker usr/bin/shapes_exporter usr/bin/tga2dds @@ -73,9 +72,7 @@ usr/bin/zone_ig_lighter usr/bin/zone_lighter usr/bin/zone_welder usr/bin/zviewer -usr/lib/*/libovqt_plugin_core.* usr/lib/*/libs3tc_compressor.so.* -usr/lib/*/object_viewer_qt usr/share/nel/nl_sample_chat usr/share/nel/nl_sample_class_transport usr/share/nel/nl_sample_clusterview @@ -87,5 +84,4 @@ 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/object_viewer_qt usr/share/nel/zviewer diff --git a/dist/debian/trusty/debian/nel-tools.install b/dist/debian/trusty/debian/nel-tools.install index 7625eea68..4ca03208c 100644 --- a/dist/debian/trusty/debian/nel-tools.install +++ b/dist/debian/trusty/debian/nel-tools.install @@ -57,7 +57,6 @@ usr/bin/nl_sample_stream_ogg_vorbis usr/bin/nl_sample_strings usr/bin/nl_sample_udpclient usr/bin/nl_sample_udpserver -usr/bin/object_viewer_qt usr/bin/panoply_maker usr/bin/shapes_exporter usr/bin/tga2dds @@ -73,9 +72,7 @@ usr/bin/zone_ig_lighter usr/bin/zone_lighter usr/bin/zone_welder usr/bin/zviewer -usr/lib/*/libovqt_plugin_core.* usr/lib/*/libs3tc_compressor.so.* -usr/lib/*/object_viewer_qt usr/share/nel/nl_sample_chat usr/share/nel/nl_sample_class_transport usr/share/nel/nl_sample_clusterview @@ -87,5 +84,4 @@ 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/object_viewer_qt usr/share/nel/zviewer diff --git a/dist/debian/utopic/debian/nel-tools.install b/dist/debian/utopic/debian/nel-tools.install index 7625eea68..4ca03208c 100644 --- a/dist/debian/utopic/debian/nel-tools.install +++ b/dist/debian/utopic/debian/nel-tools.install @@ -57,7 +57,6 @@ usr/bin/nl_sample_stream_ogg_vorbis usr/bin/nl_sample_strings usr/bin/nl_sample_udpclient usr/bin/nl_sample_udpserver -usr/bin/object_viewer_qt usr/bin/panoply_maker usr/bin/shapes_exporter usr/bin/tga2dds @@ -73,9 +72,7 @@ usr/bin/zone_ig_lighter usr/bin/zone_lighter usr/bin/zone_welder usr/bin/zviewer -usr/lib/*/libovqt_plugin_core.* usr/lib/*/libs3tc_compressor.so.* -usr/lib/*/object_viewer_qt usr/share/nel/nl_sample_chat usr/share/nel/nl_sample_class_transport usr/share/nel/nl_sample_clusterview @@ -87,5 +84,4 @@ 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/object_viewer_qt usr/share/nel/zviewer diff --git a/dist/debian/vivid/debian/nel-tools.install b/dist/debian/vivid/debian/nel-tools.install index 7625eea68..4ca03208c 100644 --- a/dist/debian/vivid/debian/nel-tools.install +++ b/dist/debian/vivid/debian/nel-tools.install @@ -57,7 +57,6 @@ usr/bin/nl_sample_stream_ogg_vorbis usr/bin/nl_sample_strings usr/bin/nl_sample_udpclient usr/bin/nl_sample_udpserver -usr/bin/object_viewer_qt usr/bin/panoply_maker usr/bin/shapes_exporter usr/bin/tga2dds @@ -73,9 +72,7 @@ usr/bin/zone_ig_lighter usr/bin/zone_lighter usr/bin/zone_welder usr/bin/zviewer -usr/lib/*/libovqt_plugin_core.* usr/lib/*/libs3tc_compressor.so.* -usr/lib/*/object_viewer_qt usr/share/nel/nl_sample_chat usr/share/nel/nl_sample_class_transport usr/share/nel/nl_sample_clusterview @@ -87,5 +84,4 @@ 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/object_viewer_qt usr/share/nel/zviewer From cbbfd4d9761da60518e4df8942d91cab2d7107fd Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 5 Apr 2015 16:21:38 +0200 Subject: [PATCH 40/73] Updated Standards-Version --HG-- branch : develop --- dist/debian/utopic/debian/control | 2 +- dist/debian/vivid/debian/control | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/debian/utopic/debian/control b/dist/debian/utopic/debian/control index cf8840bb2..e662d1f37 100644 --- a/dist/debian/utopic/debian/control +++ b/dist/debian/utopic/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper (>= 9), cmake(>= 2.6), libxml2-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 +Standards-Version: 3.9.5 Section: games Bugs: http://dev.ryzom.com/projects/ryzom/issues Homepage: http://dev.ryzom.com diff --git a/dist/debian/vivid/debian/control b/dist/debian/vivid/debian/control index cf8840bb2..e662d1f37 100644 --- a/dist/debian/vivid/debian/control +++ b/dist/debian/vivid/debian/control @@ -8,7 +8,7 @@ Build-Depends: debhelper (>= 9), cmake(>= 2.6), libxml2-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 +Standards-Version: 3.9.5 Section: games Bugs: http://dev.ryzom.com/projects/ryzom/issues Homepage: http://dev.ryzom.com From d6d4cc9155c4d9dad7b634698ced064de46eb1c9 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 5 Apr 2015 16:21:58 +0200 Subject: [PATCH 41/73] Use static version of libwww --HG-- branch : develop --- dist/debian/trusty/debian/rules | 2 +- dist/debian/utopic/debian/rules | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/debian/trusty/debian/rules b/dist/debian/trusty/debian/rules index 26ace8254..2b329f3be 100755 --- a/dist/debian/trusty/debian/rules +++ b/dist/debian/trusty/debian/rules @@ -12,7 +12,7 @@ override_dh_strip: 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_QT=ON + 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 diff --git a/dist/debian/utopic/debian/rules b/dist/debian/utopic/debian/rules index 26ace8254..2b329f3be 100755 --- a/dist/debian/utopic/debian/rules +++ b/dist/debian/utopic/debian/rules @@ -12,7 +12,7 @@ override_dh_strip: 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_QT=ON + 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 From 9fd524f9c6d74b7923e60ae9942dca69768a4990 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 5 Apr 2015 16:22:23 +0200 Subject: [PATCH 42/73] Simplify libnel filenames --HG-- branch : develop --- dist/debian/precise/debian/libnel-dev.install | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/dist/debian/precise/debian/libnel-dev.install b/dist/debian/precise/debian/libnel-dev.install index d8873ec28..9f9310cee 100644 --- a/dist/debian/precise/debian/libnel-dev.install +++ b/dist/debian/precise/debian/libnel-dev.install @@ -1,11 +1,3 @@ usr/include/* -usr/lib/*/libnel3d.so -usr/lib/*/libnelgeorges.so -usr/lib/*/libnelligo.so -usr/lib/*/libnellogic.so -usr/lib/*/libnelmisc.so -usr/lib/*/libnelnet.so -usr/lib/*/libnelpacs.so -usr/lib/*/libnelsnd_lowlevel.so -usr/lib/*/libnelsound.so +usr/lib/*/libnel*.so usr/lib/*/pkgconfig/* From 5d4cbdce2667969da03235c25bd84f8a1da62e95 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 13 Apr 2015 20:51:39 +0300 Subject: [PATCH 43/73] Remove libwww dependency from CGroupHTML::addLink() signature --HG-- branch : libxml2-html-parser --- code/nel/include/nel/gui/group_html.h | 3 ++- code/nel/src/gui/group_html.cpp | 25 +++++++++++++------------ code/nel/src/gui/libwww.cpp | 5 ++++- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 920c58948..7b974257a 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -228,7 +228,7 @@ namespace NLGUI virtual void addText (const char * buf, int len); // A link has been parsed - virtual void addLink (uint element_number, uint attribute_number, HTChildAnchor *anchor, const BOOL *present, const char **value); + virtual void addLink (uint element_number, const BOOL *present, const char **value); // A new begin HTML element has been parsed ( for exemple) virtual void beginElement (uint element_number, const BOOL *present, const char **value); @@ -699,6 +699,7 @@ namespace NLGUI void checkImageDownload(); void addImageDownload(const std::string &url, CViewBase *img); std::string localImageName(const std::string &url); + std::string getAbsoluteUrl(const std::string &url); bool isTrustedDomain(const std::string &domain); void setImage(CViewBase *view, const std::string &file); diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 4dd9ea7ac..f1c699a63 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -570,7 +570,7 @@ namespace NLGUI // *************************************************************************** - void CGroupHTML::addLink (uint element_number, uint /* attribute_number */, HTChildAnchor *anchor, const BOOL *present, const char **value) + void CGroupHTML::addLink (uint element_number, const BOOL *present, const char **value) { if (_Browsing) { @@ -591,16 +591,8 @@ namespace NLGUI } else { - HTAnchor * dest = HTAnchor_followMainLink((HTAnchor *) anchor); - if (dest) - { - C3WSmartPtr uri = HTAnchor_address(dest); - _Link.push_back ((const char*)uri); - } - else - { - _Link.push_back(""); - } + // convert href from "?key=val" into "http://domain.com/?key=val" + _Link.push_back(getAbsoluteUrl(suri)); } for(uint8 i = MY_HTML_A_ACCESSKEY; i < MY_HTML_A_Z_ACTION_SHORTCUT; i++) @@ -4516,7 +4508,7 @@ namespace NLGUI beginElement(element_number, &present[0], &value[0]); if (element_number == HTML_A) - addLink(element_number, 0, NULL, &present[0], &value[0]); + addLink(element_number, &present[0], &value[0]); return 0; } @@ -4650,6 +4642,15 @@ namespace NLGUI return result; } + // *************************************************************************** + std::string CGroupHTML::getAbsoluteUrl(const std::string &url) + { + if (HTURL_isAbsolute(url.c_str())) + return url; + + return std::string(HTParse(url.c_str(), _URL.c_str(), PARSE_ALL)); + } + // *************************************************************************** // CGroupHTML::CStyleParams style; // style.FontSize; // font-size: 10px; diff --git a/code/nel/src/gui/libwww.cpp b/code/nel/src/gui/libwww.cpp index 14e921aea..09f3a0cea 100644 --- a/code/nel/src/gui/libwww.cpp +++ b/code/nel/src/gui/libwww.cpp @@ -322,7 +322,10 @@ namespace NLGUI const char ** value) { // Do the work in the class - me->Parent->addLink (element_number, attribute_number, anchor, present, value); + if (element_number == HTML_A) + { + me->Parent->addLink (element_number, present, value); + } } // *************************************************************************** From 1dc48143f3385f80fa69f3115380055a53b540f9 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 13 Apr 2015 20:52:34 +0300 Subject: [PATCH 44/73] Implement html parser using libxml2 --HG-- branch : libxml2-html-parser --- code/nel/include/nel/gui/group_html.h | 9 ++ code/nel/src/gui/group_html_parser.cpp | 178 +++++++++++++++++++++++++ 2 files changed, 187 insertions(+) create mode 100644 code/nel/src/gui/group_html_parser.cpp diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 7b974257a..1f3c8e4dc 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -102,6 +102,9 @@ namespace NLGUI // Browse virtual void browse (const char *url); + // parse html string using libxml2 parser + virtual bool parseHtml(std::string htmlString); + // Refresh void refresh(); @@ -199,6 +202,7 @@ namespace NLGUI int luaBeginElement(CLuaState &ls); int luaEndElement(CLuaState &ls); int luaShowDiv(CLuaState &ls); + int luaParseHtml(CLuaState &ls); REFLECT_EXPORT_START(CGroupHTML, CGroupScrollText) REFLECT_LUA_METHOD("browse", luaBrowse) @@ -210,6 +214,7 @@ namespace NLGUI REFLECT_LUA_METHOD("beginElement", luaBeginElement) REFLECT_LUA_METHOD("endElement", luaEndElement) REFLECT_LUA_METHOD("showDiv", luaShowDiv) + REFLECT_LUA_METHOD("parseHtml", luaParseHtml) REFLECT_STRING("url", getURL, setURL) REFLECT_FLOAT("timeout", getTimeout, setTimeout) REFLECT_EXPORT_END @@ -251,6 +256,10 @@ namespace NLGUI // the current request is terminated virtual void requestTerminated(HTRequest *request); + // libxml2 html parser functions + void htmlElement(xmlNode *node, int element_number); + void htmlWalkDOM(xmlNode *a_node); + // Get Home URL virtual std::string home(); diff --git a/code/nel/src/gui/group_html_parser.cpp b/code/nel/src/gui/group_html_parser.cpp new file mode 100644 index 000000000..fdb9a549f --- /dev/null +++ b/code/nel/src/gui/group_html_parser.cpp @@ -0,0 +1,178 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + + +#include "stdpch.h" + +#include +#include + +#include "nel/misc/types_nl.h" +#include "nel/gui/libwww.h" +#include "nel/gui/group_html.h" +#include "nel/gui/lua_ihm.h" + +using namespace std; +using namespace NLMISC; + +namespace NLGUI +{ + // *************************************************************************** + void CGroupHTML::htmlElement(xmlNode *node, int element_number) + { + SGML_dtd *HTML_DTD = HTML_dtd (); + + if (element_number < HTML_ELEMENTS) + { + CXMLAutoPtr ptr; + // load attributes into libwww structs + BOOL present[MAX_ATTRIBUTES]; + const char *value[MAX_ATTRIBUTES]; + std::string strvalues[MAX_ATTRIBUTES]; + + uint nbAttributes = std::min(MAX_ATTRIBUTES, HTML_DTD->tags[element_number].number_of_attributes); + for(uint i=0; itags[element_number].attributes[i].name)); + ptr = xmlGetProp(node, (const xmlChar *)name.c_str()); + if (ptr) + { + // copy xmlChar to string (xmlChar will be released) + strvalues[i] = (const char *)(ptr); + // now use string pointer in value[] array + value[i] = strvalues[i].c_str(); + present[i] = true; + } + else + { + value[i] = NULL; + present[i] = false; + } + } + + if (element_number == HTML_A) + { + addLink(element_number, present, value); + } + + beginElement(element_number, present, value); + } + else + { + beginUnparsedElement((const char *)(node->name), xmlStrlen(node->name)); + } + + // recursive - text content / child nodes + htmlWalkDOM(node->children); + + // closing tag + if (element_number < HTML_ELEMENTS) + { + endElement(element_number); + } + else + { + endUnparsedElement((const char *)(node->name), xmlStrlen(node->name)); + } + } + + // *************************************************************************** + // recursive function to walk html document + void CGroupHTML::htmlWalkDOM(xmlNode *a_node) + { + SGML_dtd *HTML_DTD = HTML_dtd (); + + uint element_number; + xmlNode *node = a_node; + while(node) + { + if (node->type == XML_TEXT_NODE) + { + addText((const char *)(node->content), xmlStrlen(node->content)); + } + else + if (node->type == XML_ELEMENT_NODE) + { + // find libwww tag + for(element_number = 0; element_numbername, (const xmlChar *)HTML_DTD->tags[element_number].name, xmlStrlen(node->name)) == 0) + break; + } + + htmlElement(node, element_number); + } + + // move into next sibling + node = node->next; + } + } + + // *************************************************************************** + bool CGroupHTML::parseHtml(std::string htmlString) + { + htmlParserCtxtPtr parser = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, XML_CHAR_ENCODING_NONE); + if (!parser) + { + nlwarning("Creating html parser context failed"); + return false; + } + + htmlCtxtUseOptions(parser, HTML_PARSE_NOBLANKS | HTML_PARSE_NOERROR | HTML_PARSE_NOWARNING | HTML_PARSE_NONET); + + htmlParseChunk(parser, htmlString.c_str(), htmlString.size(), 0); + htmlParseChunk(parser, "", 0, 1); + + bool success = true; + if (parser->myDoc) + { + xmlNode *root = xmlDocGetRootElement(parser->myDoc); + if (root) + { + htmlWalkDOM(root); + } + else + { + nlwarning("html root node failed"); + success = false; + } + } + else + { + nlwarning("htmlstring parsing failed"); + success = false; + } + + htmlFreeParserCtxt(parser); + return success; + } + + // *************************************************************************** + int CGroupHTML::luaParseHtml(CLuaState &ls) + { + const char *funcName = "parseHtml"; + CLuaIHM::checkArgCount(ls, funcName, 1); + CLuaIHM::checkArgType(ls, funcName, 1, LUA_TSTRING); + std::string html = ls.toString(1); + + parseHtml(html); + + return 0; + } + +} + From d1d0c0cf5045ecb1af52d3dbb1fde993dd401e3e Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 13 Apr 2015 20:53:10 +0300 Subject: [PATCH 45/73] Parse local files (ingame help) with new html parser --HG-- branch : libxml2-html-parser --- code/nel/include/nel/gui/group_html.h | 6 ++ code/nel/src/gui/group_html.cpp | 83 +++++++++++++++++++++++---- 2 files changed, 77 insertions(+), 12 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 1f3c8e4dc..34105028c 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -677,6 +677,12 @@ namespace NLGUI // read style attribute void getStyleParams(const std::string &styleString, CStyleParams &style, bool inherit = true); + // load and render local html file (from bnp for example) + void doBrowseLocalFile(const std::string &filename); + + // render html string as new browser page + bool renderHtmlString(const std::string &html); + private: // decode all HTML entities static ucstring decodeHTMLEntities(const ucstring &str); diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index f1c699a63..8619ea878 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -3824,6 +3824,10 @@ namespace NLGUI stopBrowse (); updateRefreshButton(); + // Browsing + _Browsing = true; + updateRefreshButton(); + // Home ? if (_URL == "home") _URL = home(); @@ -3843,17 +3847,24 @@ namespace NLGUI _Connecting = true; _ConnectingTimeout = ( times.thisFrameMs / 1000.0f ) + _TimeoutValue; + // Save new url + _URL = finalUrl; + + // file is probably from bnp (ingame help) + if (isLocal) + { + if (strlwr(finalUrl).find("file:/") == 0) + { + finalUrl = finalUrl.substr(6, finalUrl.size() - 6); + } + doBrowseLocalFile(finalUrl); + } + else + { CButtonFreezer freezer; this->visit(&freezer); - // Browsing - _Browsing = true; - updateRefreshButton(); - - // Save new url - _URL = finalUrl; - // display HTTP query //nlinfo("WEB: GET '%s'", finalUrl.c_str()); @@ -3869,12 +3880,7 @@ namespace NLGUI C3WSmartPtr uri = HTParse(finalUrl.c_str(), NULL, PARSE_ALL); // Create an anchor - #ifdef NL_OS_WINDOWS if ((_LibWWW->Anchor = HTAnchor_findAddress(uri)) == NULL) - #else - // temporarily disable local URL's until LibWWW can be replaced. - if (isLocal || ((_LibWWW->Anchor = HTAnchor_findAddress(uri)) == NULL)) - #endif { browseError((string("The page address is malformed : ")+(const char*)uri).c_str()); } @@ -3911,6 +3917,8 @@ namespace NLGUI } } + } // !isLocal + _BrowseNextTime = false; } @@ -4099,6 +4107,57 @@ namespace NLGUI #endif } + // *************************************************************************** + void CGroupHTML::doBrowseLocalFile(const std::string &filename) + { + CIFile in; + if (in.open(filename)) + { + std::string html; + while(!in.eof()) + { + char buf[1024]; + in.getline(buf, 1024); + html += std::string(buf) + "\n"; + } + in.close(); + + if (!renderHtmlString(html)) + { + browseError((string("Failed to parse html from file : ")+filename).c_str()); + } + } + else + { + browseError((string("The page address is malformed : ")+filename).c_str()); + } + } + + // *************************************************************************** + + bool CGroupHTML::renderHtmlString(const std::string &html) + { + bool success; + + // clear content + beginBuild(); + + success = parseHtml(html); + + // invalidate coords + endBuild(); + + // libwww would call requestTerminated() here + _Browsing = false; + if (_TitleString.empty()) + { + setTitle(_TitlePrefix); + } + updateRefreshButton(); + + return success; + } + // *************************************************************************** void CGroupHTML::draw () From d9f3efc4e39159d58d4bbf31ca8ababe45684ebe Mon Sep 17 00:00:00 2001 From: kaetemi Date: Tue, 14 Apr 2015 11:55:08 +0200 Subject: [PATCH 46/73] ryzomcore/v0.12.0 --HG-- branch : develop --- code/CMakeLists.txt | 6 +++--- code/nel/tools/3d/plugin_max/nel_export/nel_export.rc | 8 ++++---- .../plugin_max/nel_patch_converter/nel_patch_converter.rc | 8 ++++---- code/nel/tools/3d/plugin_max/nel_patch_edit/mods.rc | 8 ++++---- .../3d/plugin_max/nel_patch_paint/nel_patch_paint.rc | 8 ++++---- .../plugin_max/nel_vertex_tree_paint/vertex_tree_paint.rc | 8 ++++---- code/nel/tools/3d/plugin_max/tile_utility/tile_utility.rc | 8 ++++---- code/ryzom/common/src/game_share/ryzom_version.h | 2 +- code/tool/increment_version/increment_version.py | 4 ++-- code/web/public_php/ams/templates/layout.tpl | 2 +- 10 files changed, 31 insertions(+), 31 deletions(-) diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 9d607579c..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}") #----------------------------------------------------------------------------- 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_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/ryzom/common/src/game_share/ryzom_version.h b/code/ryzom/common/src/game_share/ryzom_version.h index 34d96d610..9c9cdb504 100644 --- a/code/ryzom/common/src/game_share/ryzom_version.h +++ b/code/ryzom/common/src/game_share/ryzom_version.h @@ -19,7 +19,7 @@ #define RYZOM_VERSION "ryzomcore" \ "/" \ - "v0.11.3" \ + "v0.12.0" \ "-dev" #endif // RYZOM_VERSION_H 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} From 48f8cb534b0a48fcbe943d1edc66da474cd03068 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Tue, 14 Apr 2015 12:04:21 +0200 Subject: [PATCH 47/73] Added tag ryzomcore/v0.12.0 for changeset 9a6120735daa --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 315e68df2..f13a14cd9 100644 --- a/.hgtags +++ b/.hgtags @@ -7,3 +7,4 @@ edaa3624a56420b02ccc64c26059801a389927ee ryzomcore/v0.11.0 e3fe4855f22c3e75722e015dc33c091c340b3ad7 ryzomcore/v0.11.1 9e583b717fd63be0be9fd60b99087abf1691ea49 ryzomcore/v0.11.2 bfe5628e14a024ba7ea32e4b326ae433a07856b9 ryzomcore/v0.11.3 +9a6120735daa97c96ac5d85ca35c7f21f607bd87 ryzomcore/v0.12.0 From f578f0441a81ace35c9854a70a94b299e6ac095e Mon Sep 17 00:00:00 2001 From: kaetemi Date: Thu, 16 Apr 2015 17:39:47 +0200 Subject: [PATCH 48/73] Add extra light groups for better lightmap control --HG-- branch : develop --- .../3d/plugin_max/nel_export/nel_export.rc | 609 +++++++----------- .../nel_export/nel_export_node_properties.cpp | 10 +- .../tools/3d/plugin_max/nel_export/resource.h | 12 +- code/ryzom/client/src/ig_client.cpp | 2 +- code/ryzom/client/src/light_cycle_manager.cpp | 12 +- code/ryzom/client/src/misc.h | 8 +- 6 files changed, 255 insertions(+), 398 deletions(-) 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 e42b888ea..6118893ec 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 @@ -1,4 +1,4 @@ -//Microsoft Developer Studio generated resource script. +// Microsoft Visual C++ generated resource script. // #include "resource.h" @@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. // -#include +#include "afxres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -26,141 +26,109 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // Dialog // -IDD_PANEL DIALOG DISCARDABLE 0, 0, 108, 251 -STYLE WS_CHILD | WS_VISIBLE +IDD_PANEL DIALOG 0, 0, 108, 251 +STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE FONT 8, "MS Sans Serif" BEGIN PUSHBUTTON "Export model",ID_SAVEMODEL,10,10,85,15 PUSHBUTTON "Export model animations",ID_SAVE_MODEL_ANIM,10,90,85,15 PUSHBUTTON "View the scene",ID_VIEW,10,152,85,15 - PUSHBUTTON "Export scene animations",ID_SAVE_SCENE_ANIM,10,110,85, - 15 + PUSHBUTTON "Export scene animations",ID_SAVE_SCENE_ANIM,10,110,85,15 PUSHBUTTON "Export skeleton weights",ID_SAVESWT,10,50,85,15 - PUSHBUTTON "Export Instance Group",ID_EXPORTINSTANCEGROUP,10,70,85, - 15 + PUSHBUTTON "Export Instance Group",ID_EXPORTINSTANCEGROUP,10,70,85,15 PUSHBUTTON "Export skeleton",ID_SAVESKELETON,10,30,85,15 PUSHBUTTON "Options",ID_OPTIONS,10,173,85,15 PUSHBUTTON "Node properties",ID_NODE_PROPERTIES,10,194,85,15 PUSHBUTTON "Export Collision",ID_SAVECOLLISION,10,131,85,15 CTEXT "Can't read the version",IDC_VERSION,15,234,75,10 - PUSHBUTTON "Test interface mesh",ID_TEST_INTERFACE_MESH,10,215,85, - 15 + PUSHBUTTON "Test interface mesh",ID_TEST_INTERFACE_MESH,10,215,85,15 END -IDD_SWT DIALOG DISCARDABLE 0, 0, 186, 63 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION +IDD_SWT DIALOG 0, 0, 186, 63 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION CAPTION "Choose the channel to export" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,129,7,50,14 PUSHBUTTON "Cancel",IDCANCEL,129,42,50,14 - CONTROL "All",IDC_ALLCHANNEL,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,7,23,10 - CONTROL "Channel Position",IDC_CHANNELPOS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,7,23,69,10 - CONTROL "Channel Rotation",IDC_CHANNELROT,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,7,34,71,10 - CONTROL "Channel Scale",IDC_CHANNELSCA,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,7,46,62,10 + CONTROL "All",IDC_ALLCHANNEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,23,10 + CONTROL "Channel Position",IDC_CHANNELPOS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,23,69,10 + CONTROL "Channel Rotation",IDC_CHANNELROT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,34,71,10 + CONTROL "Channel Scale",IDC_CHANNELSCA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,46,62,10 END -IDD_EXPORTSCENE DIALOG DISCARDABLE 0, 0, 171, 255 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +IDD_EXPORTSCENE DIALOG 0, 0, 171, 255 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Options" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,115,173,50,14 PUSHBUTTON "Cancel",IDCANCEL,115,190,50,14 - CONTROL "Export Lighting",IDC_CHECKEXPORTLIGHTING,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,7,18,63,10 + CONTROL "Export Lighting",IDC_CHECKEXPORTLIGHTING,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,18,63,10 GROUPBOX "Light Method",IDC_STATIC,7,60,74,39,WS_GROUP - CONTROL "Raytrace",IDC_RADIONORMALEXPORTLIGHTING,"Button", - BS_AUTORADIOBUTTON,15,74,45,10 - CONTROL "Soft Shadow",IDC_RADIORADIOSITYEXPORTLIGHTING,"Button", - BS_AUTORADIOBUTTON,15,84,57,10 + CONTROL "Raytrace",IDC_RADIONORMALEXPORTLIGHTING,"Button",BS_AUTORADIOBUTTON,15,74,45,10 + CONTROL "Soft Shadow",IDC_RADIORADIOSITYEXPORTLIGHTING,"Button",BS_AUTORADIOBUTTON,15,84,57,10 EDITTEXT IDC_EDITEXPORTLIGHTING,7,42,137,14,ES_AUTOHSCROLL PUSHBUTTON "...",IDC_BUTTONEXPORTLIGHTING,151,42,13,14 LTEXT "Lumel Size in meter",IDC_STATIC,90,63,62,8 EDITTEXT IDC_EDITLUMELSIZE,90,73,40,14,ES_AUTOHSCROLL GROUPBOX "OverSampling",IDC_STATIC,7,104,60,54,WS_GROUP - CONTROL "None",IDC_RADIOSS1,"Button",BS_AUTORADIOBUTTON,15,113, - 33,10 - CONTROL "4x",IDC_RADIOSS2,"Button",BS_AUTORADIOBUTTON,15,124,23, - 10 - CONTROL "16x",IDC_RADIOSS3,"Button",BS_AUTORADIOBUTTON,15,135,27, - 10 - CONTROL "64x",IDC_RADIOSS4,"Button",BS_AUTORADIOBUTTON,15,146,27, - 10 - CONTROL "Shadow",IDC_SHADOW,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,81,18,42,10 + CONTROL "None",IDC_RADIOSS1,"Button",BS_AUTORADIOBUTTON,15,113,33,10 + CONTROL "4x",IDC_RADIOSS2,"Button",BS_AUTORADIOBUTTON,15,124,23,10 + CONTROL "16x",IDC_RADIOSS3,"Button",BS_AUTORADIOBUTTON,15,135,27,10 + CONTROL "64x",IDC_RADIOSS4,"Button",BS_AUTORADIOBUTTON,15,146,27,10 + CONTROL "Shadow",IDC_SHADOW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,81,18,42,10 CONTROL "Exclude non selected nodes from lighting",IDC_EXCLUDE, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,145,10 - CONTROL "Show Lumel",IDC_SHOWLUMEL,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,91,100,55,10 - CONTROL "Export bg color",IDC_EXPORT_BG_COLOR,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,91,115,63,10 - CONTROL "Test Surface Lighting",IDC_TEST_SURFACE_LIGHT,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,15,173,84,10 + CONTROL "Show Lumel",IDC_SHOWLUMEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,91,100,55,10 + CONTROL "Export bg color",IDC_EXPORT_BG_COLOR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,91,115,63,10 + CONTROL "Test Surface Lighting",IDC_TEST_SURFACE_LIGHT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,173,84,10 EDITTEXT IDC_EDITCELLSIZE,15,198,65,15,ES_AUTOHSCROLL LTEXT "Surface CellSize (in meter)",IDC_STATIC,15,188,85,10 EDITTEXT IDC_EDITCELLDELTAZ,15,228,65,15,ES_AUTOHSCROLL LTEXT "Surface DeltaZ (in meter)",IDC_STATIC2,15,218,85,10 GROUPBOX "Surface Lighting",IDC_STATIC,7,163,98,85 - CONTROL "Output lightmap log",IDC_CHECKOUTPUTLIGHTMAPLOG,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,7,29,77,10 + CONTROL "Output lightmap log",IDC_CHECKOUTPUTLIGHTMAPLOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,29,77,10 END -IDD_CALCULATING DIALOG DISCARDABLE 0, 0, 186, 181 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION +IDD_CALCULATING DIALOG 0, 0, 186, 181 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION CAPTION "Calculating..." FONT 8, "MS Sans Serif" BEGIN - CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",WS_BORDER, - 7,41,172,14 - LTEXT "Please wait intializing...",IDC_STATICTIMELEFT,7,7,172, - 8 + CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",WS_BORDER,7,41,172,14 + LTEXT "Please wait intializing...",IDC_STATICTIMELEFT,7,7,172,8 PUSHBUTTON "Interrupt",IDC_BUTTONCANCEL,129,23,50,14,BS_NOTIFY LTEXT "Object progression",IDC_STATIC,7,28,79,8 LTEXT "Lightmaps Information...",IDC_STATICINFO,7,60,172,114 END -IDD_LOD DIALOG DISCARDABLE 0, 0, 360, 200 -STYLE WS_CHILD +IDD_LOD DIALOG 0, 0, 360, 200 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN GROUPBOX "LOD Root Properties",IDC_STATIC,5,5,172,95 - LTEXT "List of lod mesh (ungrowing order):",IDC_STATIC,15,15, - 108,10,SS_CENTERIMAGE - LISTBOX IDC_LIST1,15,25,111,70,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | - WS_TABSTOP + LTEXT "List of lod mesh (ungrowing order):",IDC_STATIC,15,15,108,10,SS_CENTERIMAGE + LISTBOX IDC_LIST1,15,25,111,70,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Add..",IDC_ADD,131,25,40,14 PUSHBUTTON "Remove",IDC_REMOVE,131,39,40,14 PUSHBUTTON "Up",IDC_UP,131,54,40,14 PUSHBUTTON "Down",IDC_DOWN,131,68,40,14 GROUPBOX "LOD Properties",IDC_STATIC,5,105,172,50 - CONTROL "Blend in",IDC_BLEND_IN,"Button",BS_AUTO3STATE | - WS_TABSTOP,15,121,40,10 - CONTROL "Blend out",IDC_BLEND_OUT,"Button",BS_AUTO3STATE | - WS_TABSTOP,15,130,45,10 - CONTROL "Coarse mesh",IDC_COARSE_MESH,"Button",BS_AUTO3STATE | - WS_TABSTOP,15,140,55,10 - CONTROL "Dynamic mesh",IDC_DYNAMIC_MESH,"Button",BS_AUTO3STATE | - WS_TABSTOP,80,120,60,10 + CONTROL "Blend in",IDC_BLEND_IN,"Button",BS_AUTO3STATE | WS_TABSTOP,15,121,40,10 + CONTROL "Blend out",IDC_BLEND_OUT,"Button",BS_AUTO3STATE | WS_TABSTOP,15,130,45,10 + CONTROL "Coarse mesh",IDC_COARSE_MESH,"Button",BS_AUTO3STATE | WS_TABSTOP,15,140,55,10 + CONTROL "Dynamic mesh",IDC_DYNAMIC_MESH,"Button",BS_AUTO3STATE | WS_TABSTOP,80,120,60,10 LTEXT "Dist Max:",IDC_STATIC,5,160,45,13,SS_CENTERIMAGE EDITTEXT IDC_DIST_MAX,51,160,45,12,ES_AUTOHSCROLL | ES_NUMBER LTEXT "Blend length:",IDC_STATIC,80,135,45,13,SS_CENTERIMAGE - EDITTEXT IDC_BLEND_LENGTH,125,135,45,12,ES_AUTOHSCROLL | - ES_NUMBER + EDITTEXT IDC_BLEND_LENGTH,125,135,45,12,ES_AUTOHSCROLL | ES_NUMBER GROUPBOX "MRM properties",IDC_STATIC,185,5,172,95 - CONTROL "Active MRM",IDC_ACTIVE_MRM,"Button",BS_AUTO3STATE | - WS_TABSTOP,195,20,60,10 + CONTROL "Active MRM",IDC_ACTIVE_MRM,"Button",BS_AUTO3STATE | WS_TABSTOP,195,20,60,10 LTEXT "Skin reduction",IDC_STATIC,195,35,50,10,SS_CENTERIMAGE - CONTROL "Min",IDC_SKIN_REDUCTION_MIN,"Button",BS_AUTORADIOBUTTON, - 195,45,45,8 - CONTROL "Max",IDC_SKIN_REDUCTION_MAX,"Button",BS_AUTORADIOBUTTON, - 195,55,45,8 - CONTROL "Best",IDC_SKIN_REDUCTION_BEST,"Button", - BS_AUTORADIOBUTTON,195,65,45,8 + CONTROL "Min",IDC_SKIN_REDUCTION_MIN,"Button",BS_AUTORADIOBUTTON,195,45,45,8 + CONTROL "Max",IDC_SKIN_REDUCTION_MAX,"Button",BS_AUTORADIOBUTTON,195,55,45,8 + CONTROL "Best",IDC_SKIN_REDUCTION_BEST,"Button",BS_AUTORADIOBUTTON,195,65,45,8 LTEXT "Steps count:",IDC_STATIC,260,20,45,13,SS_CENTERIMAGE EDITTEXT IDC_NB_LOD,305,20,45,12,ES_AUTOHSCROLL | ES_NUMBER LTEXT "Divisor poly:",IDC_STATIC,260,35,45,13,SS_CENTERIMAGE @@ -170,128 +138,91 @@ BEGIN LTEXT "Dist middle:",IDC_STATIC,260,65,45,13,SS_CENTERIMAGE EDITTEXT IDC_DIST_MIDDLE,305,65,45,12,ES_AUTOHSCROLL | ES_NUMBER LTEXT "Dist coarsest:",IDC_STATIC,260,80,45,13,SS_CENTERIMAGE - EDITTEXT IDC_DIST_COARSEST,305,80,45,12,ES_AUTOHSCROLL | - ES_NUMBER + EDITTEXT IDC_DIST_COARSEST,305,80,45,12,ES_AUTOHSCROLL | ES_NUMBER GROUPBOX "LOD Bones",IDC_STATIC,185,105,170,45 - LTEXT "Disable Distance (0 means always activated) :", - IDC_STATIC,190,120,160,10 - EDITTEXT IDC_BONE_LOD_DISTANCE,190,130,45,12,ES_AUTOHSCROLL | - ES_NUMBER - CONTROL "Export as Lod character (.clod)",IDC_EXPORT_CLOD,"Button", - BS_AUTO3STATE | WS_TABSTOP,190,160,150,10 + LTEXT "Disable Distance (0 means always activated) :",IDC_STATIC,190,120,160,10 + EDITTEXT IDC_BONE_LOD_DISTANCE,190,130,45,12,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "Export as Lod character (.clod)",IDC_EXPORT_CLOD,"Button",BS_AUTO3STATE | WS_TABSTOP,190,160,150,10 END -IDD_ACCEL DIALOG DISCARDABLE 0, 0, 360, 200 -STYLE WS_CHILD +IDD_ACCEL DIALOG 0, 0, 360, 200 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN - CONTROL "Not an accelerator",IDC_RADIOACCELNO,"Button", - BS_AUTORADIOBUTTON,5,5,75,10 - CONTROL "Portal",IDC_RADIOACCELPORTAL,"Button", - BS_AUTORADIOBUTTON,5,21,34,10 - CONTROL "Cluster",IDC_RADIOACCELCLUSTER,"Button", - BS_AUTORADIOBUTTON,5,70,37,10 - CONTROL "Father visible",IDC_FATHER_VISIBLE,"Button", - BS_AUTO3STATE | WS_TABSTOP,27,81,57,10 - CONTROL "Visible from father",IDC_VISIBLE_FROM_FATHER,"Button", - BS_AUTO3STATE | WS_TABSTOP,27,92,71,10 - CONTROL "Dynamic Portal",IDC_DYNAMIC_PORTAL,"Button", - BS_AUTO3STATE | WS_TABSTOP,27,44,63,10 - CONTROL "Clusterize",IDC_CLUSTERIZE,"Button",BS_AUTO3STATE | - WS_TABSTOP,93,5,46,10 - COMBOBOX IDC_OCC_MODEL,209,30,123,134,CBS_DROPDOWNLIST | - WS_VSCROLL | WS_TABSTOP + CONTROL "Not an accelerator",IDC_RADIOACCELNO,"Button",BS_AUTORADIOBUTTON,5,5,75,10 + CONTROL "Portal",IDC_RADIOACCELPORTAL,"Button",BS_AUTORADIOBUTTON,5,21,34,10 + CONTROL "Cluster",IDC_RADIOACCELCLUSTER,"Button",BS_AUTORADIOBUTTON,5,70,37,10 + CONTROL "Father visible",IDC_FATHER_VISIBLE,"Button",BS_AUTO3STATE | WS_TABSTOP,27,81,57,10 + CONTROL "Visible from father",IDC_VISIBLE_FROM_FATHER,"Button",BS_AUTO3STATE | WS_TABSTOP,27,92,71,10 + CONTROL "Dynamic Portal",IDC_DYNAMIC_PORTAL,"Button",BS_AUTO3STATE | WS_TABSTOP,27,44,63,10 + CONTROL "Clusterize",IDC_CLUSTERIZE,"Button",BS_AUTO3STATE | WS_TABSTOP,93,5,46,10 + COMBOBOX IDC_OCC_MODEL,209,30,123,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Occlusion model",IDC_STATIC,134,30,68,12,SS_CENTERIMAGE - COMBOBOX IDC_OPEN_OCC_MODEL,209,44,123,116,CBS_DROPDOWNLIST | - WS_VSCROLL | WS_TABSTOP - RTEXT "Open portal occlusion model",IDC_STATIC,112,44,89,10, - SS_CENTERIMAGE + COMBOBOX IDC_OPEN_OCC_MODEL,209,44,123,116,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Open portal occlusion model",IDC_STATIC,112,44,89,10,SS_CENTERIMAGE GROUPBOX "Audio properties",IDC_STATIC,105,19,237,141 RTEXT "Sound group",IDC_STATIC,111,86,90,14 - COMBOBOX IDC_ENV_FX,209,106,123,87,CBS_DROPDOWNLIST | WS_VSCROLL | - WS_TABSTOP + COMBOBOX IDC_ENV_FX,209,106,123,87,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Environment FX",IDC_STATIC,112,106,89,10,SS_CENTERIMAGE - COMBOBOX IDC_SOUND_GROUP,209,86,123,101,CBS_DROPDOWN | CBS_SORT | - WS_VSCROLL | WS_TABSTOP - CONTROL "Father audible",IDC_FATHER_AUDIBLE,"Button", - BS_AUTO3STATE | WS_TABSTOP,210,135,61,10 - CONTROL "Audible from father",IDC_AUDIBLE_FROM_FATHER,"Button", - BS_AUTO3STATE | WS_TABSTOP,210,145,81,10 - CONTROL "Audible like visible",IDC_AUDIBLE_LIKE_VISIBLE,"Button", - BS_AUTO3STATE | WS_TABSTOP,210,125,73,10 + COMBOBOX IDC_SOUND_GROUP,209,86,123,101,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + CONTROL "Father audible",IDC_FATHER_AUDIBLE,"Button",BS_AUTO3STATE | WS_TABSTOP,210,135,61,10 + CONTROL "Audible from father",IDC_AUDIBLE_FROM_FATHER,"Button",BS_AUTO3STATE | WS_TABSTOP,210,145,81,10 + CONTROL "Audible like visible",IDC_AUDIBLE_LIKE_VISIBLE,"Button",BS_AUTO3STATE | WS_TABSTOP,210,125,73,10 END -IDD_LIGHTMAP DIALOG DISCARDABLE 0, 0, 360, 211 -STYLE WS_CHILD -FONT 8, "MS Sans Serif" +IDD_LIGHTMAP DIALOGEX 0, 0, 360, 211 +STYLE DS_SETFONT | WS_CHILD +FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Properties for objects with lightmaps",IDC_STATIC,5,5, - 150,70 - LTEXT "Lumel Size Multiplier",IDC_STATIC,10,15,64,13, - SS_CENTERIMAGE + GROUPBOX "Properties for objects with lightmaps",IDC_STATIC,5,5,150,70 + LTEXT "Lumel Size Multiplier",IDC_STATIC,10,15,64,13,SS_CENTERIMAGE EDITTEXT IDC_EDIT_LUMELSIZEMUL,96,15,40,14,ES_AUTOHSCROLL - LTEXT "Soft Shadow Radius",IDC_STATIC,10,35,66,13, - SS_CENTERIMAGE + LTEXT "Soft Shadow Radius",IDC_STATIC,10,35,66,13,SS_CENTERIMAGE EDITTEXT IDC_EDIT_SOFTSHADOW_RADIUS,96,35,40,14,ES_AUTOHSCROLL - LTEXT "Soft Shadow Cone Length",IDC_STATIC,10,55,84,13, - SS_CENTERIMAGE - EDITTEXT IDC_EDIT_SOFTSHADOW_CONELENGTH,96,55,40,14, - ES_AUTOHSCROLL - GROUPBOX "Properties for objects without lightmaps",IDC_STATIC,5, - 80,150,60 - CONTROL "If checked, use per vertex lighting attenuation else use global lighting attenuation for the object. Doesn't work with per pixel lighting shader.", - IDC_USE_LIGHT_LOCAL_ATTENUATION,"Button",BS_AUTO3STATE | - BS_TOP | BS_MULTILINE | WS_TABSTOP,15,95,120,41 + LTEXT "Soft Shadow Cone Length",IDC_STATIC,10,55,84,13,SS_CENTERIMAGE + EDITTEXT IDC_EDIT_SOFTSHADOW_CONELENGTH,96,55,40,14,ES_AUTOHSCROLL + GROUPBOX "Properties for objects without lightmaps",IDC_STATIC,5,80,150,60 + CONTROL "If checked, use per vertex lighting attenuation else use global lighting attenuation for the object. Doesn't work with per pixel lighting shader.",IDC_USE_LIGHT_LOCAL_ATTENUATION, + "Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,18,96,120,41 GROUPBOX "Properties for lights",IDC_STATIC,160,5,185,200 - CONTROL "RealTime Light. If set, this light will light scene objects.", - IDC_EXPORT_REALTIME_LIGHT,"Button",BS_AUTO3STATE | - BS_TOP | BS_MULTILINE | WS_TABSTOP,170,15,165,20 - CONTROL "RealTime Sun Light. If set, this DIRECTIONNAL light will be used as sun light to light scene objects.", - IDC_EXPORT_AS_SUN_LIGHT,"Button",BS_AUTO3STATE | BS_TOP | - BS_MULTILINE | WS_TABSTOP,170,34,170,25 - CONTROL "LightMap Light. If set, this light will be used to compute the lightmaps of the project objects.", - IDC_EXPORT_LIGHTMAP_LIGHT,"Button",BS_AUTO3STATE | - BS_TOP | BS_MULTILINE | WS_TABSTOP,170,60,170,20 - LTEXT "LightMap Animation Name. This is the name of the animation used to flick the light color.", - IDC_STATIC,170,135,170,20 - EDITTEXT IDC_EXPORT_LIGHTMAP_NAME,170,155,85,15,ES_AUTOHSCROLL + CONTROL "RealTime Light. If set, this light will light scene objects.",IDC_EXPORT_REALTIME_LIGHT, + "Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,174,18,168,18 + CONTROL "RealTime Sun Light. If set, this DIRECTIONNAL light will be used as sun light to light scene objects.",IDC_EXPORT_AS_SUN_LIGHT, + "Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,174,36,168,24 + CONTROL "LightMap Light. If set, this light will be used to compute the lightmaps of the project objects.",IDC_EXPORT_LIGHTMAP_LIGHT, + "Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,174,60,168,18 + LTEXT "LightMap Animation Name. This is the name of the animation used to flick the light color.",IDC_STATIC,174,138,170,20 + EDITTEXT IDC_EXPORT_LIGHTMAP_NAME,174,156,85,15,ES_AUTOHSCROLL CONTROL "Animated Dynamic Light",IDC_EXPORT_LIGHTMAP_ANIMATED, - "Button",BS_AUTO3STATE | WS_TABSTOP,170,175,125,10 - CONTROL "Always group",IDC_LIGHT_GROUP_ALWAYS,"Button", - BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,170,80,150,15 - CONTROL "Sun group",IDC_LIGHT_GROUP_DAY,"Button", - BS_AUTORADIOBUTTON,170,95,150,15 - CONTROL "Night group",IDC_LIGHT_GROUP_NIGHT,"Button", - BS_AUTORADIOBUTTON,170,110,150,15 + "Button",BS_AUTO3STATE | WS_TABSTOP,174,177,125,10 + CONTROL "Always on lightgroup (0)",IDC_LIGHT_GROUP_ALWAYS,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,174,90,156,12 + CONTROL "Day cycle (3)",IDC_LIGHT_GROUP_DAY_CYCLE,"Button",BS_AUTORADIOBUTTON,174,102,66,12 + CONTROL "Night cycle (2)",IDC_LIGHT_GROUP_NIGHT_CYCLE,"Button",BS_AUTORADIOBUTTON,174,114,66,12 GROUPBOX "Misc",IDC_STATIC,5,145,150,60 - CONTROL "Don't cast shadow for Interior. Known as Trick of the ""Matis serre""", - IDC_LIGHT_DONT_CAST_SHADOW_INTERIOR,"Button", - BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,15, - 155,135,20 - CONTROL "Don't cast shadow for Exterior. Known as Trick of the ""Matis serre""", - IDC_LIGHT_DONT_CAST_SHADOW_EXTERIOR,"Button", - BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,15, - 175,135,20 - CONTROL "Add Realtime Ambient Light With sun Ambient", - IDC_REALTIME_LIGHT_AMBIENT_ADD_SUN,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,170,190,160,10 + CONTROL "Don't cast shadow for Interior. Known as Trick of the ""Matis serre""",IDC_LIGHT_DONT_CAST_SHADOW_INTERIOR, + "Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,15,155,135,20 + CONTROL "Don't cast shadow for Exterior. Known as Trick of the ""Matis serre""",IDC_LIGHT_DONT_CAST_SHADOW_EXTERIOR, + "Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,15,175,135,20 + CONTROL "Add Realtime Ambient Light With sun Ambient",IDC_REALTIME_LIGHT_AMBIENT_ADD_SUN, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,174,192,160,10 + CONTROL "Landscape Diffuse (Sun) (1)",IDC_LIGHT_GROUP_LANDSCAPE_DIFFUSE, + "Button",BS_AUTORADIOBUTTON,240,102,102,12 + CONTROL "Landscape Ambient (4)",IDC_LIGHT_GROUP_LANDSCAPE_AMBIENT, + "Button",BS_AUTORADIOBUTTON,240,114,102,12 END -IDD_MISC DIALOG DISCARDABLE 0, 0, 360, 221 -STYLE WS_CHILD +IDD_MISC DIALOG 0, 0, 360, 221 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN - CONTROL "Floating Object",IDC_FLOATING_OBJECT,"Button", - BS_AUTO3STATE | WS_TABSTOP,5,5,65,12 + CONTROL "Floating Object",IDC_FLOATING_OBJECT,"Button",BS_AUTO3STATE | WS_TABSTOP,5,5,65,12 GROUPBOX "Ligoscape",IDC_STATIC,5,100,120,45 - CONTROL "Symmetry",IDC_LIGO_SYMMETRY,"Button",BS_AUTO3STATE | - WS_TABSTOP,11,110,44,12 + CONTROL "Symmetry",IDC_LIGO_SYMMETRY,"Button",BS_AUTO3STATE | WS_TABSTOP,11,110,44,12 LTEXT "Rotation:",IDC_STATIC,11,125,30,13,SS_CENTERIMAGE EDITTEXT IDC_LIGO_ROTATE,60,126,57,14,ES_AUTOHSCROLL LTEXT "Weight (0~1):",IDC_STATIC,10,75,43,13,SS_CENTERIMAGE EDITTEXT IDC_SWT_WEIGHT,60,75,60,14,ES_AUTOHSCROLL - CONTROL "Enable",IDC_SWT,"Button",BS_AUTO3STATE | WS_TABSTOP,10, - 60,40,10 + CONTROL "Enable",IDC_SWT,"Button",BS_AUTO3STATE | WS_TABSTOP,10,60,40,10 GROUPBOX "Skeleton template weight",IDC_STATIC,5,50,120,45 GROUPBOX "Radial Normals",IDC_STATIC,135,5,130,105 LTEXT "Smooth group 29",IDC_STATIC,140,45,55,13,SS_CENTERIMAGE @@ -302,144 +233,104 @@ BEGIN EDITTEXT IDC_RADIAL_NORMAL_31,200,75,57,14,ES_AUTOHSCROLL LTEXT "Smooth group 32",IDC_STATIC,140,90,55,13,SS_CENTERIMAGE EDITTEXT IDC_RADIAL_NORMAL_32,200,90,57,14,ES_AUTOHSCROLL - LTEXT "For the 4 last smoothing group, choose the node you want to use the position to compute radial normals from it.", - IDC_STATIC,140,15,120,25 + LTEXT "For the 4 last smoothing group, choose the node you want to use the position to compute radial normals from it.",IDC_STATIC,140,15,120,25 GROUPBOX "Mesh interfaces",IDC_STATIC,134,110,219,56 - LTEXT "Interface .max file",IDC_STATIC,141,120,61,15, - SS_CENTERIMAGE + LTEXT "Interface .max file",IDC_STATIC,141,120,61,15,SS_CENTERIMAGE EDITTEXT IDC_EDIT_INTERFACE_FILE,221,120,110,14,ES_AUTOHSCROLL - LTEXT "Interface weld threshold",IDC_STATIC,141,137,77,15, - SS_CENTERIMAGE - EDITTEXT IDC_EDIT_INTERFACE_THRESHOLD,221,137,110,14, - ES_AUTOHSCROLL + LTEXT "Interface weld threshold",IDC_STATIC,141,137,77,15,SS_CENTERIMAGE + EDITTEXT IDC_EDIT_INTERFACE_THRESHOLD,221,137,110,14,ES_AUTOHSCROLL GROUPBOX "Bone Scale",IDC_STATIC,5,150,120,60 - CONTROL "Enable",IDC_EXPORT_BONE_SCALE,"Button",BS_AUTO3STATE | - WS_TABSTOP,10,160,38,10 - LTEXT "Bone Reference Name extension:",IDC_STATIC,10,175,110, - 13,SS_CENTERIMAGE - EDITTEXT IDC_EXPORT_BONE_SCALE_NAME_EXT,10,190,75,14, - ES_AUTOHSCROLL - CONTROL "Get interface normals from scene objects", - IDC_GET_INTERFACE_NORMAL_FROM_SCENE_OBJECTS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,142,151,145,15 + CONTROL "Enable",IDC_EXPORT_BONE_SCALE,"Button",BS_AUTO3STATE | WS_TABSTOP,10,160,38,10 + LTEXT "Bone Reference Name extension:",IDC_STATIC,10,175,110,13,SS_CENTERIMAGE + EDITTEXT IDC_EXPORT_BONE_SCALE_NAME_EXT,10,190,75,14,ES_AUTOHSCROLL + CONTROL "Get interface normals from scene objects",IDC_GET_INTERFACE_NORMAL_FROM_SCENE_OBJECTS, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,142,151,145,15 GROUPBOX "Remanence",IDC_STATIC,134,169,219,45 - CONTROL "Use remanence",IDC_USE_REMANENCE,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,137,178,66,9 + CONTROL "Use remanence",IDC_USE_REMANENCE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,137,178,66,9 LTEXT "Slice number :",IDC_STATIC,138,191,47,10,SS_CENTERIMAGE EDITTEXT IDC_REMANENCE_SLICE_NUMBER,186,189,19,14,ES_AUTOHSCROLL - LTEXT "Sampling period :",IDC_STATIC,210,192,54,10, - SS_CENTERIMAGE - EDITTEXT IDC_REMANENCE_SAMPLING_PERIOD,266,190,20,14, - ES_AUTOHSCROLL - CONTROL "Shift texture at start of animation", - IDC_REMANENCE_SHIFTING_TEXTURE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,207,178,116,9 + LTEXT "Sampling period :",IDC_STATIC,210,192,54,10,SS_CENTERIMAGE + EDITTEXT IDC_REMANENCE_SAMPLING_PERIOD,266,190,20,14,ES_AUTOHSCROLL + CONTROL "Shift texture at start of animation",IDC_REMANENCE_SHIFTING_TEXTURE, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,178,116,9 LTEXT "Rollup ratio :",IDC_ROLLUP_RATIO,290,192,41,8 EDITTEXT IDC_REMANENCE_ROLLUP_RATIO,332,190,16,14,ES_AUTOHSCROLL END -IDD_VEGETABLE DIALOG DISCARDABLE 0, 0, 360, 200 -STYLE WS_CHILD +IDD_VEGETABLE DIALOG 0, 0, 360, 200 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN - CONTROL "Vegetable",IDC_VEGETABLE,"Button",BS_AUTO3STATE | - WS_TABSTOP,5,5,50,12 - CONTROL "Alpha Blend ON (double sided)", - IDC_VEGETABLE_ALPHA_BLEND_ON,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,21,30,112,15 - CONTROL "Alpha Blend OFF",IDC_VEGETABLE_ALPHA_BLEND_OFF,"Button", - BS_AUTORADIOBUTTON,20,74,85,15 - CONTROL "Lighted - precomputed", - IDC_VEGETABLE_AB_ON_LIGHTED_PRECOMPUTED,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,50,45,85,15 - CONTROL "Unlighted",IDC_VEGETABLE_AB_ON_UNLIGHTED,"Button", - BS_AUTORADIOBUTTON,50,61,90,15 - CONTROL "Lighted - precomputed", - IDC_VEGETABLE_AB_OFF_LIGHTED_PRECOMPUTED,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,50,90,85,15 + CONTROL "Vegetable",IDC_VEGETABLE,"Button",BS_AUTO3STATE | WS_TABSTOP,5,5,50,12 + CONTROL "Alpha Blend ON (double sided)",IDC_VEGETABLE_ALPHA_BLEND_ON, + "Button",BS_AUTORADIOBUTTON | WS_GROUP,21,30,112,15 + CONTROL "Alpha Blend OFF",IDC_VEGETABLE_ALPHA_BLEND_OFF,"Button",BS_AUTORADIOBUTTON,20,74,85,15 + CONTROL "Lighted - precomputed",IDC_VEGETABLE_AB_ON_LIGHTED_PRECOMPUTED, + "Button",BS_AUTORADIOBUTTON | WS_GROUP,50,45,85,15 + CONTROL "Unlighted",IDC_VEGETABLE_AB_ON_UNLIGHTED,"Button",BS_AUTORADIOBUTTON,50,61,90,15 + CONTROL "Lighted - precomputed",IDC_VEGETABLE_AB_OFF_LIGHTED_PRECOMPUTED, + "Button",BS_AUTORADIOBUTTON | WS_GROUP,50,90,85,15 CONTROL "Lighted - dynamic",IDC_VEGETABLE_AB_OFF_LIGHTED_DYNAMIC, "Button",BS_AUTORADIOBUTTON,50,105,90,15 - CONTROL "Unighted",IDC_VEGETABLE_AB_OFF_UNLIGHTED,"Button", - BS_AUTORADIOBUTTON,50,120,85,15 - CONTROL "Double sided",IDC_VEGETABLE_AB_OFF_DOUBLE_SIDED,"Button", - BS_AUTO3STATE | WS_TABSTOP,50,135,85,15 + CONTROL "Unighted",IDC_VEGETABLE_AB_OFF_UNLIGHTED,"Button",BS_AUTORADIOBUTTON,50,120,85,15 + CONTROL "Double sided",IDC_VEGETABLE_AB_OFF_DOUBLE_SIDED,"Button",BS_AUTO3STATE | WS_TABSTOP,50,135,85,15 GROUPBOX "Alpha mode",IDC_STATIC,15,20,135,155 GROUPBOX "Bend center",IDC_STATIC,160,20,105,45 - CONTROL "Center Null",IDC_CENTER_NULL,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,166,30,50,15 - CONTROL "Center Z",IDC_CENTER_Z,"Button",BS_AUTORADIOBUTTON,166, - 45,50,15 + CONTROL "Center Null",IDC_CENTER_NULL,"Button",BS_AUTORADIOBUTTON | WS_GROUP,166,30,50,15 + CONTROL "Center Z",IDC_CENTER_Z,"Button",BS_AUTORADIOBUTTON,166,45,50,15 LTEXT "Bend Factor (0 - 1)",IDC_STATIC,160,75,60,8 EDITTEXT IDC_VEGETABLE_BEND_FACTOR,226,70,40,14,ES_AUTOHSCROLL - CONTROL "Force Best Sided Lighting", - IDC_VEGETABLE_FORCE_BEST_SIDED_LIGHTING,"Button", - BS_AUTO3STATE | WS_TABSTOP,20,155,120,15 + CONTROL "Force Best Sided Lighting",IDC_VEGETABLE_FORCE_BEST_SIDED_LIGHTING, + "Button",BS_AUTO3STATE | WS_TABSTOP,20,155,120,15 END -IDD_INSTANCE DIALOG DISCARDABLE 0, 0, 360, 226 -STYLE WS_CHILD +IDD_INSTANCE DIALOG 0, 0, 360, 226 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN LTEXT "Instance shape",IDC_STATIC,5,5,51,15,SS_CENTERIMAGE EDITTEXT IDC_EDIT_INSTANCE_GROUP_SHAPE,80,5,110,14,ES_AUTOHSCROLL - LTEXT "Name of the instancied object. (ex: ""table.shape"").", - IDC_STATIC,195,5,160,8,SS_CENTERIMAGE + LTEXT "Name of the instancied object. (ex: ""table.shape"").",IDC_STATIC,195,5,160,8,SS_CENTERIMAGE LTEXT "Instance name",IDC_STATIC,5,25,49,15,SS_CENTERIMAGE EDITTEXT IDC_EDIT_INSTANCE_NAME,80,25,110,14,ES_AUTOHSCROLL - LTEXT "String associed with the instance in the instance group file. Enter ... to erase all.", - IDC_STATIC,195,26,160,16 - LTEXT "Instance group name",IDC_STATIC,5,45,70,15, - SS_CENTERIMAGE + LTEXT "String associed with the instance in the instance group file. Enter ... to erase all.",IDC_STATIC,195,26,160,16 + LTEXT "Instance group name",IDC_STATIC,5,45,70,15,SS_CENTERIMAGE EDITTEXT IDC_EDIT_INSTANCE_GROUP_NAME,80,45,110,14,ES_AUTOHSCROLL - LTEXT "Name of the instance group where this instance will be inserted. Enter ... to erase all", - IDC_STATIC,195,45,160,15 - CONTROL "Don't add to scene. If checked, this instance will not be added in the scene.", - IDC_DONT_ADD_TO_SCENE,"Button",BS_AUTO3STATE | - WS_TABSTOP,5,71,255,10 - CONTROL "Don't export the shape. If checked, no shape file will be exported from this object.", - IDC_DONT_EXPORT,"Button",BS_AUTO3STATE | WS_TABSTOP,5,86, - 271,10 + LTEXT "Name of the instance group where this instance will be inserted. Enter ... to erase all",IDC_STATIC,195,45,160,15 + CONTROL "Don't add to scene. If checked, this instance will not be added in the scene.",IDC_DONT_ADD_TO_SCENE, + "Button",BS_AUTO3STATE | WS_TABSTOP,5,71,255,10 + CONTROL "Don't export the shape. If checked, no shape file will be exported from this object.",IDC_DONT_EXPORT, + "Button",BS_AUTO3STATE | WS_TABSTOP,5,86,271,10 GROUPBOX "Collision",IDC_STATIC,5,180,170,40 - CONTROL "Collision Mesh",IDC_CHECK_COLLISION,"Button", - BS_AUTO3STATE | WS_TABSTOP,15,191,110,10 + CONTROL "Collision Mesh",IDC_CHECK_COLLISION,"Button",BS_AUTO3STATE | WS_TABSTOP,15,191,110,10 CONTROL "Collision Mesh Exterior",IDC_CHECK_COLLISION_EXTERIOR, "Button",BS_AUTO3STATE | WS_TABSTOP,15,204,110,10 LTEXT "Enter ... to erase all.",IDC_STATIC,195,15,108,10 GROUPBOX "Camera Collision",IDC_STATIC,5,105,270,70 - CONTROL "Automatic (collision only if mesh is lightmapped)", - IDC_CAMERA_COL_RADIO1,"Button",BS_AUTORADIOBUTTON,15,115, - 230,10 - CONTROL "Disable (don't collision with camera)", - IDC_CAMERA_COL_RADIO2,"Button",BS_AUTORADIOBUTTON,15,130, - 230,10 - CONTROL "Forced (collision with camera, even if not lightmapped)", - IDC_CAMERA_COL_RADIO3,"Button",BS_AUTORADIOBUTTON,15,145, - 230,10 - CONTROL "Camera collision only (mesh not displayed)", - IDC_CAMERA_COL_RADIO4,"Button",BS_AUTORADIOBUTTON,15,160, - 230,10 + CONTROL "Automatic (collision only if mesh is lightmapped)",IDC_CAMERA_COL_RADIO1, + "Button",BS_AUTORADIOBUTTON,15,115,230,10 + CONTROL "Disable (don't collision with camera)",IDC_CAMERA_COL_RADIO2, + "Button",BS_AUTORADIOBUTTON,15,130,230,10 + CONTROL "Forced (collision with camera, even if not lightmapped)",IDC_CAMERA_COL_RADIO3, + "Button",BS_AUTORADIOBUTTON,15,145,230,10 + CONTROL "Camera collision only (mesh not displayed)",IDC_CAMERA_COL_RADIO4, + "Button",BS_AUTORADIOBUTTON,15,160,230,10 END -IDD_ANIM DIALOG DISCARDABLE 0, 0, 360, 221 -STYLE WS_CHILD +IDD_ANIM DIALOG 0, 0, 360, 221 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN - CONTROL "Export note track",IDC_EXPORT_NOTE_TRACK,"Button", - BS_AUTO3STATE | WS_TABSTOP,5,50,75,10 - CONTROL "Export animated materials", - IDC_EXPORT_ANIMATED_MATERIALS,"Button",BS_AUTO3STATE | - WS_TABSTOP,5,35,98,10 - CONTROL "Export node animation",IDC_EXPORT_NODE_ANIMATION,"Button", - BS_AUTO3STATE | WS_TABSTOP,5,5,98,10 - CONTROL "Prefixe tracks with node name (Instance name or, if emtpy, node name)", - IDC_EXPORT_ANIMATION_PREFIXE_NAME,"Button",BS_AUTO3STATE | - BS_MULTILINE | WS_TABSTOP,5,20,245,10 - CONTROL "Allow automatic animation. If the shape is ""obj.shape"", then it will bind ""obj.anim"" automatically.", - IDC_AUTOMATIC_ANIM,"Button",BS_AUTO3STATE | BS_MULTILINE | - WS_TABSTOP,5,65,315,10 - CONTROL "Export SSS track (Skeleton Spawn Script)", - IDC_EXPORT_SSS_TRACK,"Button",BS_AUTO3STATE | WS_TABSTOP, - 5,80,310,10 + CONTROL "Export note track",IDC_EXPORT_NOTE_TRACK,"Button",BS_AUTO3STATE | WS_TABSTOP,5,50,75,10 + CONTROL "Export animated materials",IDC_EXPORT_ANIMATED_MATERIALS, + "Button",BS_AUTO3STATE | WS_TABSTOP,5,35,98,10 + CONTROL "Export node animation",IDC_EXPORT_NODE_ANIMATION,"Button",BS_AUTO3STATE | WS_TABSTOP,5,5,98,10 + CONTROL "Prefixe tracks with node name (Instance name or, if emtpy, node name)",IDC_EXPORT_ANIMATION_PREFIXE_NAME, + "Button",BS_AUTO3STATE | BS_MULTILINE | WS_TABSTOP,5,20,245,10 + CONTROL "Allow automatic animation. If the shape is ""obj.shape"", then it will bind ""obj.anim"" automatically.",IDC_AUTOMATIC_ANIM, + "Button",BS_AUTO3STATE | BS_MULTILINE | WS_TABSTOP,5,65,315,10 + CONTROL "Export SSS track (Skeleton Spawn Script)",IDC_EXPORT_SSS_TRACK, + "Button",BS_AUTO3STATE | WS_TABSTOP,5,80,310,10 END @@ -449,7 +340,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE +GUIDELINES DESIGNINFO BEGIN IDD_PANEL, DIALOG BEGIN @@ -548,18 +439,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE DISCARDABLE +1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE DISCARDABLE +2 TEXTINCLUDE BEGIN "#include ""afxres.h""\r\n" "\0" END -3 TEXTINCLUDE DISCARDABLE +3 TEXTINCLUDE BEGIN "\r\n" "\0" @@ -568,7 +459,6 @@ END #endif // APSTUDIO_INVOKED -#ifndef _MAC ///////////////////////////////////////////////////////////////////////////// // // Version @@ -591,17 +481,13 @@ BEGIN BEGIN BLOCK "040904b0" BEGIN - VALUE "Comments", "Based on Kinetix 3D Studio Max 3.0 plugin sample\0" - VALUE "CompanyName", "Ryzom Core\0" + VALUE "Comments", "Based on Kinetix 3D Studio Max 3.0 plugin sample" + VALUE "CompanyName", "Ryzom Core" 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 "InternalName", "CNelExport" + VALUE "OriginalFilename", "CNelExport.dlu" + VALUE "ProductName", "Ryzom Core" VALUE "ProductVersion", "0.12.0\0" - VALUE "SpecialBuild", "\0" END END BLOCK "VarFileInfo" @@ -610,15 +496,13 @@ BEGIN END END -#endif // !_MAC - ///////////////////////////////////////////////////////////////////////////// // // String Table // -STRINGTABLE DISCARDABLE +STRINGTABLE BEGIN IDS_LIBDESCRIPTION "Geometry Export/View" IDS_CATEGORY "Nel Tools" @@ -645,8 +529,8 @@ LANGUAGE LANG_FRENCH, SUBLANG_FRENCH // Dialog // -IDD_NODE_PROPERTIES_PANEL DIALOG DISCARDABLE 0, 0, 384, 290 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +IDD_NODE_PROPERTIES_PANEL DIALOG 0, 0, 384, 290 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Node properties" FONT 8, "MS Sans Serif" BEGIN @@ -655,76 +539,57 @@ BEGIN PUSHBUTTON "Cancel",IDCANCEL,327,267,50,15 END -IDD_VERTEX_PROGRAM DIALOG DISCARDABLE 0, 0, 361, 211 -STYLE WS_CHILD +IDD_VERTEX_PROGRAM DIALOG 0, 0, 361, 211 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN LTEXT "VertexProgram :",IDC_VP_TEXT,5,5,70,10 COMBOBOX IDC_COMBO_VP,80,0,105,55,CBS_DROPDOWNLIST | WS_TABSTOP - LTEXT "Can't use vp (needed by material shader)",IDC_BYPASS_VP, - 196,3,132,9 + LTEXT "Can't use vp (needed by material shader)",IDC_BYPASS_VP,196,3,132,9 END -IDD_VP_WINDTREE DIALOG DISCARDABLE 0, 0, 356, 191 -STYLE WS_CHILD +IDD_VP_WINDTREE DIALOG 0, 0, 356, 191 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN - CONTROL "Use VP SpecularLighting",IDC_CHECK_VP_SPECLIGHT,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,10,5,105,10 + CONTROL "Use VP SpecularLighting",IDC_CHECK_VP_SPECLIGHT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,5,105,10 LTEXT "Frequency Scale :",IDC_STATIC,120,5,60,10 LTEXT "Distance Scale :",IDC_STATIC,245,5,60,10 - EDITTEXT IDC_EDIT_VPWT_FREQ_SCALE,190,5,35,12,ES_MULTILINE | - ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN - EDITTEXT IDC_EDIT_VPWT_DIST_SCALE,305,5,35,12,ES_MULTILINE | - ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN + EDITTEXT IDC_EDIT_VPWT_FREQ_SCALE,190,5,35,12,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN + EDITTEXT IDC_EDIT_VPWT_DIST_SCALE,305,5,35,12,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN GROUPBOX "Level 0 (eg: Tree Trunk)",IDC_STATIC,0,20,355,50 GROUPBOX "Level 1 (eg: branch)",IDC_STATIC,0,75,355,55 GROUPBOX "Level 2 (eg: leaves)",IDC_STATIC,0,135,355,55 LTEXT "Frequency :",IDC_STATIC,5,31,50,10 LTEXT "DistanceXY :",IDC_STATIC,5,41,50,10 LTEXT "Distance Bias :",IDC_STATIC,5,51,50,10 - CONTROL "Slider1",IDC_SLIDER_VPWT_FREQ_L0,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,30,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_DISTXY_L0,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,41,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_FREQ_L0,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,30,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_DISTXY_L0,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,41,100,11 LTEXT "FreqWindDep :",IDC_STATIC,180,31,50,10 LTEXT "DistanceZ :",IDC_STATIC,180,40,50,10 - CONTROL "Slider1",IDC_SLIDER_VPWT_FREQWD_L0,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,30,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_DISTZ_L0,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,40,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_BIAS_L0,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,51,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_FREQWD_L0,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,30,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_DISTZ_L0,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,40,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_BIAS_L0,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,51,100,11 LTEXT "Frequency :",IDC_STATIC,5,90,50,10 LTEXT "DistanceXY :",IDC_STATIC,5,101,50,10 LTEXT "Distance Bias :",IDC_STATIC,5,112,50,10 - CONTROL "Slider1",IDC_SLIDER_VPWT_FREQ_L1,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,91,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_DISTXY_L1,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,101,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_FREQ_L1,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,91,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_DISTXY_L1,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,101,100,11 LTEXT "FreqWindDep :",IDC_STATIC,180,92,50,10 LTEXT "DistanceZ :",IDC_STATIC,180,100,50,10 - CONTROL "Slider1",IDC_SLIDER_VPWT_FREQWD_L1,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,90,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_DISTZ_L1,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,100,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_BIAS_L1,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,112,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_FREQWD_L1,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,90,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_DISTZ_L1,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,100,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_BIAS_L1,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,112,100,11 LTEXT "Frequency :",IDC_STATIC,5,150,50,10 LTEXT "DistanceXY :",IDC_STATIC,5,160,50,10 LTEXT "Distance Bias :",IDC_STATIC,5,170,50,10 - CONTROL "Slider1",IDC_SLIDER_VPWT_FREQ_L2,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,150,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_DISTXY_L2,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,160,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_FREQ_L2,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,150,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_DISTXY_L2,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,160,100,11 LTEXT "FreqWindDep :",IDC_STATIC,180,153,50,10 LTEXT "DistanceZ :",IDC_STATIC,180,162,50,10 - CONTROL "Slider1",IDC_SLIDER_VPWT_FREQWD_L2,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,151,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_DISTZ_L2,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,162,100,11 - CONTROL "Slider1",IDC_SLIDER_VPWT_BIAS_L2,"msctls_trackbar32", - TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,170,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_FREQWD_L2,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,151,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_DISTZ_L2,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,230,162,100,11 + CONTROL "Slider1",IDC_SLIDER_VPWT_BIAS_L2,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,55,170,100,11 LTEXT "-0.12",IDC_STATIC_VPWT_FREQ_L0,155,31,20,10,SS_SUNKEN LTEXT "0.12",IDC_STATIC_VPWT_DISTXY_L0,155,41,20,10,SS_SUNKEN LTEXT "0.12",IDC_STATIC_VPWT_BIAS_L0,155,51,20,10,SS_SUNKEN @@ -748,8 +613,8 @@ BEGIN LTEXT "+2",IDC_STATIC,145,180,10,8 END -IDD_LIGHTMAP2 DIALOG DISCARDABLE 0, 0, 361, 211 -STYLE WS_CHILD +IDD_LIGHTMAP2 DIALOG 0, 0, 361, 211 +STYLE DS_SETFONT | WS_CHILD FONT 8, "MS Sans Serif" BEGIN GROUPBOX "LMC: 8Bits Lightmap compression",IDC_STATIC,5,5,195,190 @@ -757,67 +622,45 @@ BEGIN LTEXT "Sun Group",IDC_LMC_STATIC3,10,115,40,10 LTEXT "Night Group",IDC_LMC_STATIC6,10,155,45,10 LTEXT "Ambient:",IDC_LMC_STATIC1,10,90,45,10 - CONTROL "Custom1",IDC_LM_ALWAYS_AMBIENT,"ColorSwatch",WS_TABSTOP, - 65,85,30,15 + CONTROL "Custom1",IDC_LM_ALWAYS_AMBIENT,"ColorSwatch",WS_TABSTOP,65,85,30,15 LTEXT "Diffuse:",IDC_LMC_STATIC2,105,90,45,10 - CONTROL "Custom1",IDC_LM_ALWAYS_DIFFUSE,"ColorSwatch",WS_TABSTOP, - 160,85,30,15 + CONTROL "Custom1",IDC_LM_ALWAYS_DIFFUSE,"ColorSwatch",WS_TABSTOP,160,85,30,15 LTEXT "Ambient:",IDC_LMC_STATIC4,10,130,45,10 - CONTROL "Custom1",IDC_LM_DAY_AMBIENT,"ColorSwatch",WS_TABSTOP,65, - 125,30,15 + CONTROL "Custom1",IDC_LM_DAY_AMBIENT,"ColorSwatch",WS_TABSTOP,65,125,30,15 LTEXT "Diffuse:",IDC_LMC_STATIC5,105,130,45,10 - CONTROL "Custom1",IDC_LM_DAY_DIFFUSE,"ColorSwatch",WS_TABSTOP, - 160,125,30,15 + CONTROL "Custom1",IDC_LM_DAY_DIFFUSE,"ColorSwatch",WS_TABSTOP,160,125,30,15 LTEXT "Ambient:",IDC_LMC_STATIC7,10,170,45,10 - CONTROL "Custom1",IDC_LM_NIGHT_AMBIENT,"ColorSwatch",WS_TABSTOP, - 65,165,30,15 + CONTROL "Custom1",IDC_LM_NIGHT_AMBIENT,"ColorSwatch",WS_TABSTOP,65,165,30,15 LTEXT "Diffuse:",IDC_LMC_STATIC8,105,170,45,10 - CONTROL "Custom1",IDC_LM_NIGHT_DIFFUSE,"ColorSwatch",WS_TABSTOP, - 160,165,30,15 - CONTROL "Use 8Bits lightmaps",IDC_LM_COMPRESS_8BIT,"Button", - BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,10,20, - 90,10 + CONTROL "Custom1",IDC_LM_NIGHT_DIFFUSE,"ColorSwatch",WS_TABSTOP,160,165,30,15 + CONTROL "Use 8Bits lightmaps",IDC_LM_COMPRESS_8BIT,"Button",BS_AUTO3STATE | BS_TOP | BS_MULTILINE | WS_TABSTOP,10,20,90,10 PUSHBUTTON "Auto Setup All",IDC_LMC_AUTO_SETUP,15,45,65,15 - PUSHBUTTON "Auto Setup Visible",IDC_LMC_AUTO_SETUP_VISIBLEONLY,95, - 45,90,15 + PUSHBUTTON "Auto Setup Visible",IDC_LMC_AUTO_SETUP_VISIBLEONLY,95,45,90,15 PUSHBUTTON "Copy From",IDC_LMC_COPY_FROM,120,20,65,15 END -IDD_LMC_CHOOSE_FROM DIALOG DISCARDABLE 0, 0, 217, 290 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +IDD_LMC_CHOOSE_FROM DIALOG 0, 0, 217, 290 +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Choose LMC setup from object" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,160,240,50,14 PUSHBUTTON "Cancel",IDCANCEL,160,265,50,14 - LISTBOX IDC_LMC_COPY_LIST,5,20,120,260,LBS_SORT | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LISTBOX IDC_LMC_COPY_LIST,5,20,120,260,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP LTEXT "List of objects in LMC mode.",IDC_STATIC,5,10,120,10 - CONTROL "Custom1",IDC_LMC_COPY_ALWAYS_DIFFUSE,"ColorSwatch", - WS_TABSTOP,180,45,30,15 - CONTROL "Custom1",IDC_LMC_COPY_ALWAYS_AMBIENT,"ColorSwatch", - WS_TABSTOP,140,45,30,15 - CONTROL "Custom1",IDC_LMC_COPY_SUN_AMBIENT,"ColorSwatch", - WS_TABSTOP,140,90,30,15 - CONTROL "Custom1",IDC_LMC_COPY_SUN_DIFFUSE,"ColorSwatch", - WS_TABSTOP,180,90,30,15 - CONTROL "Custom1",IDC_LMC_COPY_NIGHT_DIFFUSE,"ColorSwatch", - WS_TABSTOP,180,135,30,15 - CONTROL "Custom1",IDC_LMC_COPY_NIGHT_AMBIENT,"ColorSwatch", - WS_TABSTOP,140,135,30,15 + CONTROL "Custom1",IDC_LMC_COPY_ALWAYS_DIFFUSE,"ColorSwatch",WS_TABSTOP,180,45,30,15 + CONTROL "Custom1",IDC_LMC_COPY_ALWAYS_AMBIENT,"ColorSwatch",WS_TABSTOP,140,45,30,15 + CONTROL "Custom1",IDC_LMC_COPY_SUN_AMBIENT,"ColorSwatch",WS_TABSTOP,140,90,30,15 + CONTROL "Custom1",IDC_LMC_COPY_SUN_DIFFUSE,"ColorSwatch",WS_TABSTOP,180,90,30,15 + CONTROL "Custom1",IDC_LMC_COPY_NIGHT_DIFFUSE,"ColorSwatch",WS_TABSTOP,180,135,30,15 + CONTROL "Custom1",IDC_LMC_COPY_NIGHT_AMBIENT,"ColorSwatch",WS_TABSTOP,140,135,30,15 LTEXT "Colors for this node:",IDC_STATIC,140,25,70,10 - CONTROL "Get",IDC_LMC_COPY_ALWAYS_AMBIENT_FILTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,140,65,30,10 - CONTROL "Get",IDC_LMC_COPY_ALWAYS_DIFFUSE_FILTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,180,65,30,10 - CONTROL "Get",IDC_LMC_COPY_SUN_DIFFUSE_FILTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,180,110,30,10 - CONTROL "Get",IDC_LMC_COPY_SUN_AMBIENT_FILTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,140,110,30,10 - CONTROL "Get",IDC_LMC_COPY_NIGHT_AMBIENT_FILTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,140,155,30,10 - CONTROL "Get",IDC_LMC_COPY_NIGHT_DIFFUSE_FILTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,180,155,30,10 + CONTROL "Get",IDC_LMC_COPY_ALWAYS_AMBIENT_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,65,30,10 + CONTROL "Get",IDC_LMC_COPY_ALWAYS_DIFFUSE_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,65,30,10 + CONTROL "Get",IDC_LMC_COPY_SUN_DIFFUSE_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,110,30,10 + CONTROL "Get",IDC_LMC_COPY_SUN_AMBIENT_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,110,30,10 + CONTROL "Get",IDC_LMC_COPY_NIGHT_AMBIENT_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,155,30,10 + CONTROL "Get",IDC_LMC_COPY_NIGHT_DIFFUSE_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,180,155,30,10 PUSHBUTTON "Clear All",IDC_LMC_COPY_CLEAR,140,175,70,15 PUSHBUTTON "Get All",IDC_LMC_COPY_GET_ALL,140,195,70,15 END @@ -829,7 +672,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE +GUIDELINES DESIGNINFO BEGIN IDD_NODE_PROPERTIES_PANEL, DIALOG BEGIN diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp index bd37cee61..e65449409 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp @@ -1054,7 +1054,7 @@ INT_PTR CALLBACK LightmapDialogCallback ( // Set enable disable LightingStateChanged (hwndDlg, currentParam); - CheckRadioButton (hwndDlg, IDC_LIGHT_GROUP_ALWAYS, IDC_LIGHT_GROUP_NIGHT, IDC_LIGHT_GROUP_ALWAYS+(currentParam->LightGroup%3)); + CheckRadioButton (hwndDlg, IDC_LIGHT_GROUP_ALWAYS, IDC_LIGHT_GROUP_LANDSCAPE_AMBIENT, IDC_LIGHT_GROUP_ALWAYS+(currentParam->LightGroup%5)); } break; @@ -1096,10 +1096,14 @@ INT_PTR CALLBACK LightmapDialogCallback ( // Get the acceleration type if (IsDlgButtonChecked (hwndDlg, IDC_LIGHT_GROUP_ALWAYS) == BST_CHECKED) currentParam->LightGroup = 0; - else if (IsDlgButtonChecked (hwndDlg, IDC_LIGHT_GROUP_DAY) == BST_CHECKED) + else if (IsDlgButtonChecked (hwndDlg, IDC_LIGHT_GROUP_LANDSCAPE_DIFFUSE) == BST_CHECKED) currentParam->LightGroup = 1; - else if (IsDlgButtonChecked (hwndDlg, IDC_LIGHT_GROUP_NIGHT) == BST_CHECKED) + else if (IsDlgButtonChecked (hwndDlg, IDC_LIGHT_GROUP_NIGHT_CYCLE) == BST_CHECKED) currentParam->LightGroup = 2; + else if (IsDlgButtonChecked (hwndDlg, IDC_LIGHT_GROUP_DAY_CYCLE) == BST_CHECKED) + currentParam->LightGroup = 3; + else if (IsDlgButtonChecked (hwndDlg, IDC_LIGHT_GROUP_LANDSCAPE_AMBIENT) == BST_CHECKED) + currentParam->LightGroup = 4; else currentParam->LightGroup = -1; } diff --git a/code/nel/tools/3d/plugin_max/nel_export/resource.h b/code/nel/tools/3d/plugin_max/nel_export/resource.h index 3c14091f3..c6340a356 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/resource.h +++ b/code/nel/tools/3d/plugin_max/nel_export/resource.h @@ -1,5 +1,5 @@ //{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. +// Microsoft Visual C++ generated include file. // Used by nel_export.rc // #define IDS_LIBDESCRIPTION 1 @@ -7,7 +7,6 @@ #define IDS_CLASS_NAME 3 #define IDC_ADD 3 #define IDS_PARAMS 4 -#define IDC_STATIC -1 #define IDC_REMOVE 4 #define IDS_SPIN 5 #define IDC_UP 5 @@ -225,9 +224,6 @@ #define IDC_OPEN_OCC_MODEL 1529 #define IDC_ENV_FX 1531 #define IDC_SOUND_GROUP 1532 -#define IDC_LIGHT_GROUP_ALWAYS 1533 -#define IDC_LIGHT_GROUP_DAY 1534 -#define IDC_LIGHT_GROUP_NIGHT 1535 #define IDC_LIGHT_DONT_CAST_SHADOW_INTERIOR 1536 #define IDC_LIGHT_DONT_CAST_SHADOW_EXTERIOR 1537 #define IDC_8BITS_LIGHTMAP 1537 @@ -270,6 +266,12 @@ #define IDC_LMC_COPY_ALWAYS_DIFFUSE 1567 #define IDC_LMC_COPY_LIST 1568 #define IDC_REALTIME_LIGHT_AMBIENT_ADD_SUN 1569 +#define IDC_LIGHT_GROUP_ALWAYS 1570 +#define IDC_LIGHT_GROUP_LANDSCAPE_DIFFUSE 1571 +#define IDC_LIGHT_GROUP_NIGHT_CYCLE 1572 +#define IDC_LIGHT_GROUP_DAY_CYCLE 1573 +#define IDC_LIGHT_GROUP_LANDSCAPE_AMBIENT 1574 +#define IDC_STATIC -1 // Next default values for new objects // diff --git a/code/ryzom/client/src/ig_client.cpp b/code/ryzom/client/src/ig_client.cpp index 401ecb83b..b508248f3 100644 --- a/code/ryzom/client/src/ig_client.cpp +++ b/code/ryzom/client/src/ig_client.cpp @@ -71,7 +71,7 @@ void initIG() { // Initialize lightmaps colors for the fireworks. - // Fireworks is group 3 + // Fireworks is group 5 Scene->setLightGroupColor (LightGroupFireworks, CRGBA(0,0,0)); }// initIG // diff --git a/code/ryzom/client/src/light_cycle_manager.cpp b/code/ryzom/client/src/light_cycle_manager.cpp index 1f7175dba..5ef2f52fb 100644 --- a/code/ryzom/client/src/light_cycle_manager.cpp +++ b/code/ryzom/client/src/light_cycle_manager.cpp @@ -354,11 +354,17 @@ void CLightCycleManager::setHour(float hour, const CWeatherManagerClient &wm, NL { CRGBA color; color.add(_LastDiffuse, lightningColor); - Scene->setLightGroupColor (LightGroupDay, color); + Scene->setLightGroupColor(LightGroupLandscapeDiffuse, color); + color.add(_LastAmbient, lightningColor); + Scene->setLightGroupColor(LightGroupLandscapeAmbient, color); float nightLevel = _LightLevel*255.f; clamp (nightLevel, 0, 255); - color.set ((uint8)nightLevel, (uint8)nightLevel, (uint8)nightLevel); - Scene->setLightGroupColor (LightGroupNight, color); + uint8 nightLevelColor = (uint8)nightLevel; + color.set (nightLevelColor, nightLevelColor, nightLevelColor); + Scene->setLightGroupColor (LightGroupNightCycle, color); + uint8 dayLevelColor = 255 - nightLevel; + color.set (dayLevelColor, dayLevelColor, dayLevelColor); + Scene->setLightGroupColor (LightGroupDayCycle, color); } if (Landscape) diff --git a/code/ryzom/client/src/misc.h b/code/ryzom/client/src/misc.h index 463f02b66..7fba7204c 100644 --- a/code/ryzom/client/src/misc.h +++ b/code/ryzom/client/src/misc.h @@ -65,9 +65,11 @@ class CPlayerSheet; enum TLightGroup { LightGroupAlways = 0, - LightGroupDay, - LightGroupNight, - LightGroupFireworks, + LightGroupLandscapeDiffuse = 1, + LightGroupNightCycle = 2, + LightGroupDayCycle = 3, + LightGroupLandscapeAmbient = 4, + LightGroupFireworks }; class CSeeds; From be95880a95ce0f843a8e7ddabfa477e3a3c3e740 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Fri, 17 Apr 2015 15:10:00 +0300 Subject: [PATCH 49/73] Remove libwww, only keep html entitites list --HG-- branch : develop --- code/CMakeLists.txt | 1 - code/CMakeModules/FindLibwww.cmake | 190 ---- code/nel/include/nel/gui/group_html.h | 20 - code/nel/include/nel/gui/libwww.h | 59 - code/nel/include/nel/gui/libwww_nel_stream.h | 28 - code/nel/include/nel/gui/libwww_types.h | 1075 ++++++++++++++++++ code/nel/src/gui/CMakeLists.txt | 4 +- code/nel/src/gui/group_html.cpp | 423 +------ code/nel/src/gui/group_html_parser.cpp | 11 +- code/nel/src/gui/libwww.cpp | 411 ------- code/nel/src/gui/libwww_nel_stream.cpp | 633 ----------- code/nel/src/gui/libwww_types.cpp | 797 +++++++++++++ 12 files changed, 1889 insertions(+), 1763 deletions(-) delete mode 100644 code/CMakeModules/FindLibwww.cmake delete mode 100644 code/nel/include/nel/gui/libwww_nel_stream.h create mode 100644 code/nel/include/nel/gui/libwww_types.h delete mode 100644 code/nel/src/gui/libwww_nel_stream.cpp create mode 100644 code/nel/src/gui/libwww_types.cpp diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt index 05286fb4c..440a5fcd3 100644 --- a/code/CMakeLists.txt +++ b/code/CMakeLists.txt @@ -152,7 +152,6 @@ IF(WITH_NEL) ENDIF(WITH_NEL_TESTS) IF(WITH_GUI) - FIND_PACKAGE(Libwww REQUIRED) FIND_PACKAGE(Luabind REQUIRED) FIND_PACKAGE(CURL REQUIRED) diff --git a/code/CMakeModules/FindLibwww.cmake b/code/CMakeModules/FindLibwww.cmake deleted file mode 100644 index e742c6ae5..000000000 --- a/code/CMakeModules/FindLibwww.cmake +++ /dev/null @@ -1,190 +0,0 @@ -# -# Find the W3C libwww includes and library -# -# This module defines -# LIBWWW_INCLUDE_DIR, where to find tiff.h, etc. -# LIBWWW_LIBRARY, where to find the Libwww library. -# LIBWWW_FOUND, If false, do not try to use Libwww. - -OPTION(WITH_LIBWWW_STATIC "Use only static libraries for libwww" OFF) - -# also defined, but not for general use are -IF(LIBWWW_LIBRARIES AND LIBWWW_INCLUDE_DIR) - # in cache already - SET(Libwww_FIND_QUIETLY TRUE) -ENDIF(LIBWWW_LIBRARIES AND LIBWWW_INCLUDE_DIR) - -FIND_PATH(LIBWWW_INCLUDE_DIR - WWWInit.h - PATHS - /usr/local/include - /usr/include - /sw/include - /opt/local/include - /opt/csw/include - /opt/include - PATH_SUFFIXES libwww w3c-libwww -) - -# when installing libwww on mac os x using macports the file wwwconf.h resides -# in /opt/local/include and not in the real libwww include dir :/ -FIND_PATH(LIBWWW_ADDITIONAL_INCLUDE_DIR - wwwconf.h - PATHS - /usr/local/include - /usr/include - /sw/include - /opt/local/include - /opt/csw/include - /opt/include -) - -# combine both include directories into one variable -IF(LIBWWW_ADDITIONAL_INCLUDE_DIR) - SET(LIBWWW_INCLUDE_DIR ${LIBWWW_INCLUDE_DIR} ${LIBWWW_ADDITIONAL_INCLUDE_DIR}) -ENDIF(LIBWWW_ADDITIONAL_INCLUDE_DIR) - -# helper to find all the libwww sub libraries -MACRO(FIND_WWW_LIBRARY MYLIBRARY OPTION FILE) - IF(WITH_LIBWWW_STATIC AND UNIX AND NOT APPLE AND NOT WITH_STATIC_EXTERNAL) - SET(CMAKE_FIND_LIBRARY_SUFFIXES_OLD ${CMAKE_FIND_LIBRARY_SUFFIXES}) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") - ENDIF(WITH_LIBWWW_STATIC AND UNIX AND NOT APPLE AND NOT WITH_STATIC_EXTERNAL) - - FIND_LIBRARY(${MYLIBRARY}_RELEASE - NAMES ${FILE} - PATHS - /usr/local/lib - /usr/lib - /usr/lib/x86_64-linux-gnu - /usr/local/X11R6/lib - /usr/X11R6/lib - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - /usr/freeware/lib64 - ) - - FIND_LIBRARY(${MYLIBRARY}_DEBUG - NAMES ${FILE}d - PATHS - /usr/local/lib - /usr/lib - /usr/lib/x86_64-linux-gnu - /usr/local/X11R6/lib - /usr/X11R6/lib - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - /usr/freeware/lib64 - ) - - IF(CMAKE_FIND_LIBRARY_SUFFIXES_OLD) - SET(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_OLD}) - ENDIF(CMAKE_FIND_LIBRARY_SUFFIXES_OLD) - - IF(${MYLIBRARY}_RELEASE AND ${MYLIBRARY}_DEBUG) - IF(${OPTION} STREQUAL REQUIRED OR WITH_STATIC OR WITH_LIBWWW_STATIC) - SET(LIBWWW_LIBRARIES ${LIBWWW_LIBRARIES} optimized ${${MYLIBRARY}_RELEASE} debug ${${MYLIBRARY}_DEBUG}) - ENDIF(${OPTION} STREQUAL REQUIRED OR WITH_STATIC OR WITH_LIBWWW_STATIC) - ELSEIF(${MYLIBRARY}_RELEASE) - IF(${OPTION} STREQUAL REQUIRED OR WITH_STATIC OR WITH_LIBWWW_STATIC) - SET(LIBWWW_LIBRARIES ${LIBWWW_LIBRARIES} ${${MYLIBRARY}_RELEASE}) - ENDIF(${OPTION} STREQUAL REQUIRED OR WITH_STATIC OR WITH_LIBWWW_STATIC) - ELSEIF(${MYLIBRARY}_DEBUG) - IF(${OPTION} STREQUAL REQUIRED OR WITH_STATIC OR WITH_LIBWWW_STATIC) - SET(LIBWWW_LIBRARIES ${LIBWWW_LIBRARIES} ${${MYLIBRARY}_DEBUG}) - ENDIF(${OPTION} STREQUAL REQUIRED OR WITH_STATIC OR WITH_LIBWWW_STATIC) - ELSE(${MYLIBRARY}_RELEASE AND ${MYLIBRARY}_DEBUG) - IF(NOT Libwww_FIND_QUIETLY AND NOT WIN32) - MESSAGE(STATUS "Warning: Libwww: Library not found: ${MYLIBRARY}") - ENDIF(NOT Libwww_FIND_QUIETLY AND NOT WIN32) - ENDIF(${MYLIBRARY}_RELEASE AND ${MYLIBRARY}_DEBUG) - - MARK_AS_ADVANCED(${MYLIBRARY}_RELEASE ${MYLIBRARY}_DEBUG) -ENDMACRO(FIND_WWW_LIBRARY) - -MACRO(LINK_WWW_LIBRARY MYLIBRARY OTHERLIBRARY SYMBOL) - IF(NOT WITH_LIBWWW_STATIC AND NOT WITH_STATIC_EXTERNAL) - LINK_DEPENDS(LIBWWW_LIBRARIES ${MYLIBRARY} ${OTHERLIBRARY} ${SYMBOL}) - ENDIF(NOT WITH_LIBWWW_STATIC AND NOT WITH_STATIC_EXTERNAL) -ENDMACRO(LINK_WWW_LIBRARY) - -# Find and link required libs for static or dynamic -FIND_WWW_LIBRARY(LIBWWWAPP_LIBRARY REQUIRED wwwapp) # cache core file ftp gopher html http mime news stream telnet trans utils zip xml xmlparse -FIND_WWW_LIBRARY(LIBWWWCORE_LIBRARY REQUIRED wwwcore) # utils -FIND_WWW_LIBRARY(LIBWWWFILE_LIBRARY REQUIRED wwwfile) # core trans utils html -FIND_WWW_LIBRARY(LIBWWWHTML_LIBRARY REQUIRED wwwhtml) # core utils -FIND_WWW_LIBRARY(LIBWWWHTTP_LIBRARY REQUIRED wwwhttp) # md5 core mime stream utils -FIND_WWW_LIBRARY(LIBWWWMIME_LIBRARY REQUIRED wwwmime) # core cache stream utils - -# Required for static or if underlinking -FIND_WWW_LIBRARY(LIBWWWCACHE_LIBRARY OPTIONAL wwwcache) # core trans utils -FIND_WWW_LIBRARY(LIBWWWSTREAM_LIBRARY OPTIONAL wwwstream) # core file utils - -FIND_WWW_LIBRARY(LIBWWWTRANS_LIBRARY REQUIRED wwwtrans) # core utils -FIND_WWW_LIBRARY(LIBWWWUTILS_LIBRARY REQUIRED wwwutils) - - -# Required only if underlinking - -# Unused protocols -FIND_WWW_LIBRARY(LIBWWWFTP_LIBRARY OPTIONAL wwwftp) # core file utils -FIND_WWW_LIBRARY(LIBWWWGOPHER_LIBRARY OPTIONAL wwwgopher) # core html utils file -FIND_WWW_LIBRARY(LIBWWWNEWS_LIBRARY OPTIONAL wwwnews) # core html mime stream utils -FIND_WWW_LIBRARY(LIBWWWTELNET_LIBRARY OPTIONAL wwwtelnet) # core utils - -# Other used by app -FIND_WWW_LIBRARY(LIBWWWDIR_LIBRARY OPTIONAL wwwdir) # file -FIND_WWW_LIBRARY(LIBWWWINIT_LIBRARY OPTIONAL wwwinit) # app cache core file html utils -FIND_WWW_LIBRARY(LIBWWWMUX_LIBRARY OPTIONAL wwwmux) # core stream trans utils -FIND_WWW_LIBRARY(LIBWWWXML_LIBRARY OPTIONAL wwwxml) # core utils xmlparse -FIND_WWW_LIBRARY(LIBWWWZIP_LIBRARY OPTIONAL wwwzip) # core utils -FIND_WWW_LIBRARY(LIBXMLPARSE_LIBRARY OPTIONAL xmlparse) # xmltok - -# Other used by other -FIND_WWW_LIBRARY(LIBXMLTOK_LIBRARY OPTIONAL xmltok) -FIND_WWW_LIBRARY(LIBWWWSSL_LIBRARY OPTIONAL wwwssl) -FIND_WWW_LIBRARY(LIBMD5_LIBRARY OPTIONAL md5) -FIND_WWW_LIBRARY(LIBPICS_LIBRARY OPTIONAL pics) - -# Other external libraries -FIND_PACKAGE(EXPAT QUIET) -FIND_PACKAGE(OpenSSL QUIET) -FIND_WWW_LIBRARY(LIBREGEX_LIBRARY OPTIONAL gnu_regex) - -# Now link all libs together -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWCACHE_LIBRARY HTLoadCache) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWCACHE_LIBRARY HTCacheAppend) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWFTP_LIBRARY HTLoadFTP) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWGOPHER_LIBRARY HTLoadGopher) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWNEWS_LIBRARY HTLoadNews) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWTELNET_LIBRARY HTLoadTelnet) - -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWSTREAM_LIBRARY HTStreamToChunk) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWSTREAM_LIBRARY HTGuess_new) -LINK_WWW_LIBRARY(LIBWWWFILE_LIBRARY LIBWWWDIR_LIBRARY HTDir_new) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWINIT_LIBRARY HTProtocolInit) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWXML_LIBRARY HTXML_new) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBWWWZIP_LIBRARY HTZLib_inflate) - -# libwwwxml can be linked to xmlparse or expat -LINK_WWW_LIBRARY(LIBWWWXML_LIBRARY LIBXMLPARSE_LIBRARY XML_ParserCreate) - -IF(LIBXMLPARSE_LIBRARY_LINKED) - LINK_WWW_LIBRARY(LIBXMLPARSE_LIBRARY EXPAT_LIBRARY XmlInitEncoding) -ELSE(LIBXMLPARSE_LIBRARY_LINKED) - LINK_WWW_LIBRARY(LIBWWWXML_LIBRARY EXPAT_LIBRARY XML_ParserCreate) -ENDIF(LIBXMLPARSE_LIBRARY_LINKED) - -LINK_WWW_LIBRARY(LIBWWWHTTP_LIBRARY LIBMD5_LIBRARY MD5Init) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY LIBREGEX_LIBRARY regexec) -LINK_WWW_LIBRARY(LIBWWWAPP_LIBRARY OPENSSL_LIBRARIES SSL_new) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Libwww DEFAULT_MSG - LIBWWW_LIBRARIES - LIBWWW_INCLUDE_DIR -) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 34105028c..76caa2caa 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -28,11 +28,6 @@ typedef std::map TStyle; -extern "C" -{ -#include "WWWInit.h" -} - namespace NLGUI { class CCtrlButton; @@ -55,15 +50,6 @@ namespace NLGUI public: DECLARE_UI_CLASS( CGroupHTML ) - friend void TextAdd (struct _HText *me, const char * buf, int len); - friend void TextBeginElement (_HText *me, int element_number, const BOOL *present, const char ** value); - friend void TextEndElement (_HText *me, int element_number); - friend void TextLink (struct _HText *me, int element_number, int attribute_number, struct _HTChildAnchor *anchor, const BOOL *present, const char **value); - friend void TextBuild (HText * me, HTextStatus status); - friend void TextBeginUnparsedElement(HText *me, const char *buffer, int length); - friend void TextEndUnparsedElement(HText *me, const char *buffer, int length); - friend int requestTerminater (HTRequest * request, HTResponse * response, void * param, int status); - /// Web browser options for CGroupHTML struct SWebOptions { @@ -360,12 +346,6 @@ namespace NLGUI bool _Object; std::string _ObjectScript; - // Someone is conecting. We got problem with libwww : 2 connection requests can deadlock the client. - static CGroupHTML *_ConnectingLock; - - // LibWWW data - class CLibWWWData *_LibWWW; - // Current paragraph std::string _DivName; CGroupParagraph* _Paragraph; diff --git a/code/nel/include/nel/gui/libwww.h b/code/nel/include/nel/gui/libwww.h index b1f070ddd..d3e4eeec9 100644 --- a/code/nel/include/nel/gui/libwww.h +++ b/code/nel/include/nel/gui/libwww.h @@ -20,11 +20,6 @@ #ifndef CL_LIB_WWW_H #define CL_LIB_WWW_H -extern "C" -{ -#include "WWWInit.h" -} - #include "nel/misc/rgba.h" namespace NLGUI @@ -38,11 +33,6 @@ namespace NLGUI // Init the libwww void initLibWWW(); - // Get an url and setup a local domain - const std::string &setCurrentDomain(const std::string &url); - - extern std::string CurrentCookie; - // *************************************************************************** // Some DTD table @@ -230,46 +220,6 @@ namespace NLGUI // *************************************************************************** - // A smart ptr for LibWWW strings - class C3WSmartPtr - { - public: - C3WSmartPtr () - { - _Ptr = NULL; - } - C3WSmartPtr (const char *ptr) - { - _Ptr = ptr; - } - ~C3WSmartPtr () - { - clear(); - } - void operator=(const char *str) - { - clear (); - _Ptr = str; - } - operator const char *() const - { - return _Ptr; - } - void clear() - { - if (_Ptr) - { - void *ptr = (void*)_Ptr; - HT_FREE(ptr); - } - _Ptr = NULL; - } - private: - const char *_Ptr; - }; - - // *************************************************************************** - // Read a width HTML parameter. "100" or "100%". Returns true if percent (0 ~ 1) else false bool getPercentage (sint32 &width, float &percent, const char *str); @@ -280,15 +230,6 @@ namespace NLGUI // *************************************************************************** - void _VerifyLibWWW(const char *function, bool ok, const char *file, int line); - #define VerifyLibWWW(a,b) _VerifyLibWWW(a,(b)!=FALSE,__FILE__,__LINE__) - - // *************************************************************************** - - // Standard request terminator - int requestTerminater (HTRequest * request, HTResponse * response, void * param, int status) ; - - // *************************************************************************** } #endif diff --git a/code/nel/include/nel/gui/libwww_nel_stream.h b/code/nel/include/nel/gui/libwww_nel_stream.h deleted file mode 100644 index 4dbadf1b8..000000000 --- a/code/nel/include/nel/gui/libwww_nel_stream.h +++ /dev/null @@ -1,28 +0,0 @@ -// Ryzom - MMORPG Framework -// Copyright (C) 2010 Winch Gate Property Limited -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - - - -#ifndef LIBWWW_NEL_STREAM_H -#define LIBWWW_NEL_STREAM_H - - -#include "HTProt.h" - -extern "C" HTProtCallback HTLoadNeLFile; -extern "C" PUBLIC HTInputStream * HTNeLReader_new (HTHost * host, HTChannel * ch, void * param, int mode); - -#endif // LIBWWW_NEL_STREAM_H diff --git a/code/nel/include/nel/gui/libwww_types.h b/code/nel/include/nel/gui/libwww_types.h new file mode 100644 index 000000000..27058c861 --- /dev/null +++ b/code/nel/include/nel/gui/libwww_types.h @@ -0,0 +1,1075 @@ +/** + libwww Copyright Notice + [This notice should be placed within redistributed or derivative software + code when appropriate. This particular formulation of W3C's notice for + inclusion in libwww code became active on August 14 1998.] + + LIBWWW COPYRIGHT NOTICE + + libwww: W3C's implementation of HTTP can be found at: + http://www.w3.org/Library/ + + Copyright ¨ 1995-2002 World Wide Web Consortium, + (Massachusetts Institute of Technology, Institut + National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. + This program is distributed under the W3C's + Intellectual Property License. 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 W3C License + http://www.w3.org/Consortium/Legal/ for more details. + + Copyright ¨ 1995 CERN. "This product includes computer + software created and made available by CERN. This + acknowledgment shall be mentioned in full in any + product which includes the CERN computer software + included herein or parts thereof." + + *****************************************************************************/ + +#ifndef CL_LIB_WWW_TYPES_H +#define CL_LIB_WWW_TYPES_H + +typedef char BOOL; + +// +// LibWWW elements +// - order must be kept for backward compatibility, new tags can be added to the end +typedef enum _HTMLElement { + HTML_A = 0, + HTML_ABBR, + HTML_ACRONYM, + HTML_ADDRESS, + HTML_APPLET, + HTML_AREA, + HTML_B, + HTML_BASE, + HTML_BASEFONT, + HTML_BDO, + HTML_BIG, + HTML_BLOCKQUOTE, + HTML_BODY, + HTML_BR, + HTML_BUTTON, + HTML_CAPTION, + HTML_CENTER, + HTML_CITE, + HTML_CODE, + HTML_COL, + HTML_COLGROUP, + HTML_DD, + HTML_DEL, + HTML_DFN, + HTML_DIR, + HTML_DIV, + HTML_DL, + HTML_DT, + HTML_EM, + HTML_FIELDSET, + HTML_FONT, + HTML_FORM, + HTML_FRAME, + HTML_FRAMESET, + HTML_H1, + HTML_H2, + HTML_H3, + HTML_H4, + HTML_H5, + HTML_H6, + HTML_HEAD, + HTML_HR, + HTML_HTML, + HTML_I, + HTML_IFRAME, + HTML_IMG, + HTML_INPUT, + HTML_INS, + HTML_ISINDEX, + HTML_KBD, + HTML_LABEL, + HTML_LEGEND, + HTML_LI, + HTML_LINK, + HTML_MAP, + HTML_MENU, + HTML_META, + HTML_NEXTID, /* !!! */ + HTML_NOFRAMES, + HTML_NOSCRIPT, + HTML_OBJECT, + HTML_OL, + HTML_OPTGROUP, + HTML_OPTION, + HTML_P, + HTML_PARAM, + HTML_PRE, + HTML_Q, + HTML_S, + HTML_SAMP, + HTML_SCRIPT, + HTML_SELECT, + HTML_SMALL, + HTML_SPAN, + HTML_STRIKE, + HTML_STRONG, + HTML_STYLE, + HTML_SUB, + HTML_SUP, + HTML_TABLE, + HTML_TBODY, + HTML_TD, + HTML_TEXTAREA, + HTML_TFOOT, + HTML_TH, + HTML_THEAD, + HTML_TITLE, + HTML_TR, + HTML_TT, + HTML_U, + HTML_UL, + HTML_VAR, + // new tags + HTML_LUA, + // this must be the last entry + HTML_ELEMENTS +} HTMLElement; + + +#define HTML_ATTR(t,a) HTML_##t##_##a +#define HTML_ATTRIBUTES(t) HTML_##t##_ATTRIBUTES + +/* + ( + A + ) + */ + +enum _HTML_A_Attributes { + HTML_ATTR(A,ACCESSKEY) = 0, + HTML_ATTR(A,CHARSET), + HTML_ATTR(A,CLASS), + HTML_ATTR(A,COORDS), + HTML_ATTR(A,DIR), + HTML_ATTR(A,HREF), + HTML_ATTR(A,HREFLANG), + HTML_ATTR(A,ID), + HTML_ATTR(A,NAME), + HTML_ATTR(A,REL), + HTML_ATTR(A,REV), + HTML_ATTR(A,SHAPE), + HTML_ATTR(A,STYLE), + HTML_ATTR(A,TABINDEX), + HTML_ATTR(A,TARGET), + HTML_ATTR(A,TYPE), + HTML_ATTR(A,TITLE), + HTML_ATTR(A,Z_ACTION_CATEGORY), // NLGUI + HTML_ATTR(A,Z_ACTION_PARANS), // NLGUI + HTML_ATTR(A,Z_ACTION_SHORTCUT), // NLGUI + HTML_ATTRIBUTES(A) +}; + +/* + ( + APPLET - Deprecated + ) + */ + +enum _HTML_APPLET_Attributes { + HTML_ATTR(APPLET,ALIGN) = 0, + HTML_ATTR(APPLET,ALT), + HTML_ATTR(APPLET,ARCHIVE), + HTML_ATTR(APPLET,CLASS), + HTML_ATTR(APPLET,CODE), + HTML_ATTR(APPLET,CODEBASE), + HTML_ATTR(APPLET,HEIGHT), + HTML_ATTR(APPLET,HSPACE), + HTML_ATTR(APPLET,ID), + HTML_ATTR(APPLET,NAME), + HTML_ATTR(APPLET,OBJECT), + HTML_ATTR(APPLET,STYLE), + HTML_ATTR(APPLET,TITLE), + HTML_ATTR(APPLET,VSPACE), + HTML_ATTR(APPLET,WIDTH), + HTML_ATTRIBUTES(APPLET) +}; + +/* + ( + AREA + ) + */ + +enum _HTML_AREA_Attributes { + HTML_ATTR(AREA,ACCESSKEY) = 0, + HTML_ATTR(AREA,ALT), + HTML_ATTR(AREA,CLASS), + HTML_ATTR(AREA,COORDS), + HTML_ATTR(AREA,DIR), + HTML_ATTR(AREA,HREF), + HTML_ATTR(AREA,ID), + HTML_ATTR(AREA,NAME), + HTML_ATTR(AREA,NOHREF), + HTML_ATTR(AREA,LANG), + HTML_ATTR(AREA,SHAPE), + HTML_ATTR(AREA,STYLE), + HTML_ATTR(AREA,TABINDEX), + HTML_ATTR(AREA,TARGET), + HTML_ATTR(AREA,TITLE), + HTML_ATTRIBUTES(AREA) +}; + + +/* + ( + BASE + ) + */ + +enum _HTML_BASE_Attributes { + HTML_ATTR(BASE,HREF) = 0, + HTML_ATTR(BASE,TARGET), + HTML_ATTRIBUTES(BASE) +}; + +/* + ( + BDO + ) + */ + +enum _HTML_BDO_Attributes { + HTML_ATTR(BDO,CLASS) = 0, + HTML_ATTR(BDO,DIR), + HTML_ATTR(BDO,ID), + HTML_ATTR(BDO,LANG), + HTML_ATTR(BDO,STYLE), + HTML_ATTR(BDO,TITLE), + HTML_ATTRIBUTES(BDO) +}; + +/* + ( + BLOCKQUOTE + ) + */ + +enum _HTML_BQ_Attributes { + HTML_ATTR(BQ,CITE) = 0, + HTML_ATTR(BQ,CLASS), + HTML_ATTR(BQ,DIR), + HTML_ATTR(BQ,ID), + HTML_ATTR(BQ,LANG), + HTML_ATTR(BQ,STYLE), + HTML_ATTR(BQ,TITLE), + HTML_ATTRIBUTES(BQ) +}; + +/* + ( + BODY + ) + */ + +enum _HTML_BODY_Attributes { + HTML_ATTR(BODY,ALINK) = 0, + HTML_ATTR(BODY,BACKGROUND), + HTML_ATTR(BODY,BGCOLOR), + HTML_ATTR(BODY,CLASS), + HTML_ATTR(BODY,DIR), + HTML_ATTR(BODY,ID), + HTML_ATTR(BODY,LANG), + HTML_ATTR(BODY,LINK), + HTML_ATTR(BODY,STYLE), + HTML_ATTR(BODY,TEXT), + HTML_ATTR(BODY,TITLE), + HTML_ATTR(BODY,VLINK), + HTML_ATTRIBUTES(BODY) +}; + +/* + ( + BR + ) + */ + +enum _HTML_BR_Attributes { + HTML_ATTR(BR,CLASS) = 0, + HTML_ATTR(BR,CLEAR), + HTML_ATTR(BR,ID), + HTML_ATTR(BR,STYLE), + HTML_ATTR(BR,TITLE), + HTML_ATTRIBUTES(BR) +}; + +/* + ( + BUTTON + ) + */ + +enum _HTML_BUTTON_Attributes { + HTML_ATTR(BUTTON,ACCESSKEY) = 0, + HTML_ATTR(BUTTON,CLASS), + HTML_ATTR(BUTTON,DIR), + HTML_ATTR(BUTTON,DISABLED), + HTML_ATTR(BUTTON,ID), + HTML_ATTR(BUTTON,LANG), + HTML_ATTR(BUTTON,NAME), + HTML_ATTR(BUTTON,STYLE), + HTML_ATTR(BUTTON,TABINDEX), + HTML_ATTR(BUTTON,TITLE), + HTML_ATTR(BUTTON,TYPE), + HTML_ATTR(BUTTON,VALUE), + HTML_ATTRIBUTES(BUTTON) +}; + +/* + ( + COL + ) + */ + +enum _HTML_COL_Attributes { + HTML_ATTR(COL,CLASS) = 0, + HTML_ATTR(COL,DIR), + HTML_ATTR(COL,ID), + HTML_ATTR(COL,LANG), + HTML_ATTR(COL,SPAN), + HTML_ATTR(COL,STYLE), + HTML_ATTR(COL,TITLE), + HTML_ATTR(COL,WIDTH), + HTML_ATTRIBUTES(COL) +}; + +/* + ( + DEL, INS + ) + */ + +enum _HTML_CHANGES_Attributes { + HTML_ATTR(CHANGES,CITE) = 0, + HTML_ATTR(CHANGES,CLASS), + HTML_ATTR(CHANGES,DATETIME), + HTML_ATTR(CHANGES,DIR), + HTML_ATTR(CHANGES,ID), + HTML_ATTR(CHANGES,LANG), + HTML_ATTR(CHANGES,STYLE), + HTML_ATTR(CHANGES,TITLE), + HTML_ATTRIBUTES(CHANGES) +}; + +/* + ( + FONT - Deprecated + ) + */ + +enum _HTML_FONT_Attributes { + HTML_ATTR(FONT,CLASS) = 0, + HTML_ATTR(FONT,COLOR), + HTML_ATTR(FONT,DIR), + HTML_ATTR(FONT,FACE), + HTML_ATTR(FONT,ID), + HTML_ATTR(FONT,LANG), + HTML_ATTR(FONT,SIZE), + HTML_ATTR(FONT,STYLE), + HTML_ATTR(FONT,TITLE), + HTML_ATTRIBUTES(FONT) +}; + +/* + ( + FORM + ) + */ + +enum _HTML_FORM_Attributes { + HTML_ATTR(FORM,ACCEPT) = 0, + HTML_ATTR(FORM,ACCEPT_CHARSET), /* { "ACCEPT-CHARSET" } */ + HTML_ATTR(FORM,ACTION), + HTML_ATTR(FORM,CLASS), + HTML_ATTR(FORM,DIR), + HTML_ATTR(FORM,ENCTYPE), + HTML_ATTR(FORM,ID), + HTML_ATTR(FORM,LANG), + HTML_ATTR(FORM,METHOD), + HTML_ATTR(FORM,STYLE), + HTML_ATTR(FORM,TARGET), + HTML_ATTR(FORM,TITLE), + HTML_ATTRIBUTES(FORM) +}; + +/* + ( + FRAME + ) + */ + +enum _HTML_FRAME_Attributes { + HTML_ATTR(FRAME,CLASS) = 0, + HTML_ATTR(FRAME,FRAMEBORDER), + HTML_ATTR(FRAME,ID), + HTML_ATTR(FRAME,NAME), + HTML_ATTR(FRAME,MARGINHEIGHT), + HTML_ATTR(FRAME,MARGINWIDTH), + HTML_ATTR(FRAME,NORESIZE), + HTML_ATTR(FRAME,LONGDESC), + HTML_ATTR(FRAME,SCROLLING), + HTML_ATTR(FRAME,SRC), + HTML_ATTR(FRAME,STYLE), + HTML_ATTR(FRAME,TARGET), + HTML_ATTR(FRAME,TITLE), + HTML_ATTRIBUTES(FRAME) +}; + +/* + ( + FRAMESET + ) + */ + +enum _HTML_FRAMESET_Attributes { + HTML_ATTR(FRAMESET,CLASS) = 0, + HTML_ATTR(FRAMESET,COLS), + HTML_ATTR(FRAMESET,ID), + HTML_ATTR(FRAMESET,ROWS), + HTML_ATTR(FRAMESET,STYLE), + HTML_ATTR(FRAMESET,TITLE), + HTML_ATTRIBUTES(FRAMESET) +}; + +/* + ( + Generic attributes + ) + */ + +enum _HTML_GEN_Attributes { + HTML_ATTR(GEN,CLASS) = 0, + HTML_ATTR(GEN,DIR), + HTML_ATTR(GEN,ID), + HTML_ATTR(GEN,LANG), + HTML_ATTR(GEN,STYLE), + HTML_ATTR(GEN,TITLE), + HTML_ATTRIBUTES(GEN) +}; + +/* + ( + BLOCK + ) + */ + +enum _HTML_BLOCK_Attributes { + HTML_ATTR(BLOCK,ALIGN) = 0, + HTML_ATTR(BLOCK,CLASS), + HTML_ATTR(BLOCK,DIR), + HTML_ATTR(BLOCK,ID), + HTML_ATTR(BLOCK,LANG), + HTML_ATTR(BLOCK,STYLE), + HTML_ATTR(BLOCK,TITLE), + HTML_ATTRIBUTES(BLOCK) +}; + +/* + ( + HEAD + ) + */ + +enum _HTML_HEAD_Attributes { + HTML_ATTR(HEAD,DIR) = 0, + HTML_ATTR(HEAD,LANG), + HTML_ATTR(HEAD,PROFILE), + HTML_ATTRIBUTES(HEAD) +}; + +/* + ( + HR + ) + */ + +enum _HTML_HR_Attributes { + HTML_ATTR(HR,ALIGN) = 0, + HTML_ATTR(HR,CLASS), + HTML_ATTR(HR,DIR), + HTML_ATTR(HR,ID), + HTML_ATTR(HR,LANG), + HTML_ATTR(HR,NOSHADE), + HTML_ATTR(HR,SIZE), + HTML_ATTR(HR,STYLE), + HTML_ATTR(HR,TITLE), + HTML_ATTR(HR,WIDTH), + HTML_ATTRIBUTES(HR) +}; + +/* + ( + HTML + ) + */ + +enum _HTML_HTML_Attributes { + HTML_ATTR(HTML,DIR) = 0, + HTML_ATTR(HTML,LANG), + HTML_ATTR(HTML,VERSION), + HTML_ATTRIBUTES(HTML) +}; + +/* + ( + IFRAME + ) + */ + +enum _HTML_IFRAME_Attributes { + HTML_ATTR(IFRAME,ALIGN) = 0, + HTML_ATTR(IFRAME,CLASS), + HTML_ATTR(IFRAME,FRAMEBORDER), + HTML_ATTR(IFRAME,HEIGHT), + HTML_ATTR(IFRAME,ID), + HTML_ATTR(IFRAME,LONGDESC), + HTML_ATTR(IFRAME,MARGINHEIGHT), + HTML_ATTR(IFRAME,MARGINWIDTH), + HTML_ATTR(IFRAME,NAME), + HTML_ATTR(IFRAME,SCROLLING), + HTML_ATTR(IFRAME,SRC), + HTML_ATTR(IFRAME,STYLE), + HTML_ATTR(IFRAME,TARGET), + HTML_ATTR(IFRAME,TITLE), + HTML_ATTR(IFRAME,WIDTH), + HTML_ATTRIBUTES(IFRAME) +}; + +/* + ( + IMG + ) + */ + +enum _HTML_IMG_Attributes { + HTML_ATTR(IMG,ALIGN) = 0, + HTML_ATTR(IMG,ALT), + HTML_ATTR(IMG,BORDER), + HTML_ATTR(IMG,CLASS), + HTML_ATTR(IMG,DIR), + HTML_ATTR(IMG,HEIGHT), + HTML_ATTR(IMG,HSPACE), + HTML_ATTR(IMG,ID), + HTML_ATTR(IMG,ISMAP), + HTML_ATTR(IMG,LANG), + HTML_ATTR(IMG,LONGDESC), + HTML_ATTR(IMG,SRC), + HTML_ATTR(IMG,STYLE), + HTML_ATTR(IMG,TITLE), + HTML_ATTR(IMG,USEMAP), + HTML_ATTR(IMG,VSPACE), + HTML_ATTR(IMG,WIDTH), + HTML_ATTRIBUTES(IMG) +}; + +/* + ( + INPUT + ) + */ + +enum _HTML_INPUT_Attributes { + HTML_ATTR(INPUT,ACCEPT) = 0, + HTML_ATTR(INPUT,ACCESSKEY), + HTML_ATTR(INPUT,ALIGN), + HTML_ATTR(INPUT,ALT), + HTML_ATTR(INPUT,CHECKED), + HTML_ATTR(INPUT,CLASS), + HTML_ATTR(INPUT,DIR), + HTML_ATTR(INPUT,DISABLED), + HTML_ATTR(INPUT,ID), + HTML_ATTR(INPUT,LANG), + HTML_ATTR(INPUT,MAXLENGTH), + HTML_ATTR(INPUT,NAME), + HTML_ATTR(INPUT,READONLY), + HTML_ATTR(INPUT,SIZE), + HTML_ATTR(INPUT,SRC), + HTML_ATTR(INPUT,STYLE), + HTML_ATTR(INPUT,TABINDEX), + HTML_ATTR(INPUT,TITLE), + HTML_ATTR(INPUT,TYPE), + HTML_ATTR(INPUT,USEMAP), + HTML_ATTR(INPUT,VALUE), + HTML_ATTRIBUTES(INPUT) +}; + +/* + ( + ) + */ + +enum _HTML_ISINDEX_Attributes { + HTML_ATTR(ISINDEX,CLASS) = 0, + HTML_ATTR(ISINDEX,DIR), + HTML_ATTR(ISINDEX,ID), + HTML_ATTR(ISINDEX,LANG), + HTML_ATTR(ISINDEX,PROMPT), + HTML_ATTR(ISINDEX,STYLE), + HTML_ATTR(ISINDEX,TITLE), + HTML_ATTRIBUTES(ISINDEX) +}; + +/* + ( + ) + */ + +enum _HTML_LABEL_Attributes { + HTML_ATTR(LABEL,ACCESSKEY) = 0, + HTML_ATTR(LABEL,CLASS), + HTML_ATTR(LABEL,DIR), + HTML_ATTR(LABEL,FOR), + HTML_ATTR(LABEL,ID), + HTML_ATTR(LABEL,LANG), + HTML_ATTR(LABEL,STYLE), + HTML_ATTR(LABEL,TITLE), + HTML_ATTRIBUTES(LABEL) +}; + +/* + ( + ) + */ + +enum _HTML_LEGEND_Attributes { + HTML_ATTR(LEGEND,ACCESSKEY) = 0, + HTML_ATTR(LEGEND,ALIGN), + HTML_ATTR(LEGEND,CLASS), + HTML_ATTR(LEGEND,DIR), + HTML_ATTR(LEGEND,ID), + HTML_ATTR(LEGEND,LANG), + HTML_ATTR(LEGEND,STYLE), + HTML_ATTR(LEGEND,TITLE), + HTML_ATTRIBUTES(LEGEND) +}; + +/* + ( + LI + ) + */ + +enum _HTML_LI_Attributes { + HTML_ATTR(LI,CLASS) = 0, + HTML_ATTR(LI,COMPACT), + HTML_ATTR(LI,DIR), + HTML_ATTR(LI,ID), + HTML_ATTR(LI,LANG), + HTML_ATTR(LI,STYLE), + HTML_ATTR(LI,TITLE), + HTML_ATTR(LI,TYPE), + HTML_ATTR(LI,VALUE), + HTML_ATTRIBUTES(LI) +}; + +/* + ( + LINK + ) + */ + +enum _HTML_LINK_Attributes { + HTML_ATTR(LINK,CHARSET) = 0, + HTML_ATTR(LINK,CLASS), + HTML_ATTR(LINK,DIR), + HTML_ATTR(LINK,HREF), + HTML_ATTR(LINK,HREFLANG), + HTML_ATTR(LINK,ID), + HTML_ATTR(LINK,LANG), + HTML_ATTR(LINK,MEDIA), + HTML_ATTR(LINK,REL), + HTML_ATTR(LINK,REV), + HTML_ATTR(LINK,STYLE), + HTML_ATTR(LINK,TARGET), + HTML_ATTR(LINK,TITLE), + HTML_ATTR(LINK,TYPE), + HTML_ATTRIBUTES(LINK) +}; + +/* + ( + MAP + ) + */ + +enum _HTML_MAP_Attributes { + HTML_ATTR(MAP,CLASS) = 0, + HTML_ATTR(MAP,DIR), + HTML_ATTR(MAP,ID), + HTML_ATTR(MAP,LANG), + HTML_ATTR(MAP,NAME), + HTML_ATTR(MAP,STYLE), + HTML_ATTR(MAP,TITLE), + HTML_ATTRIBUTES(MAP) +}; + +/* + ( + META + ) + */ + +enum _HTML_META_Attributes { + HTML_ATTR(META,CONTENT) = 0, + HTML_ATTR(META,DIR), + HTML_ATTR(META,HTTP_EQUIV), /* { "HTTP-EQUIV" ) */ + HTML_ATTR(META,LANG), + HTML_ATTR(META,NAME), + HTML_ATTR(META,SCHEME), + HTML_ATTRIBUTES(META) +}; + +/* + ( + NEXTID + ) + */ + +#define HTML_NEXTID_ATTRIBUTES 1 +#define HTML_NEXTID_N 0 + +/* + ( + OBJECT + ) + */ + +enum _HTML_OBJECT_Attributes { + HTML_ATTR(OBJECT,ALIGN) = 0, + HTML_ATTR(OBJECT,ARCHIVE), + HTML_ATTR(OBJECT,BORDER), + HTML_ATTR(OBJECT,CLASS), + HTML_ATTR(OBJECT,CLASSID), + HTML_ATTR(OBJECT,CODEBASE), + HTML_ATTR(OBJECT,CODETYPE), + HTML_ATTR(OBJECT,DATA), + HTML_ATTR(OBJECT,DECLARE), + HTML_ATTR(OBJECT,DIR), + HTML_ATTR(OBJECT,HEIGHT), + HTML_ATTR(OBJECT,HSPACE), + HTML_ATTR(OBJECT,ID), + HTML_ATTR(OBJECT,LANG), + HTML_ATTR(OBJECT,NAME), + HTML_ATTR(OBJECT,STANDBY), + HTML_ATTR(OBJECT,STYLE), + HTML_ATTR(OBJECT,TABINDEX), + HTML_ATTR(OBJECT,TITLE), + HTML_ATTR(OBJECT,TYPE), + HTML_ATTR(OBJECT,USEMAP), + HTML_ATTR(OBJECT,VSPACE), + HTML_ATTR(OBJECT,WIDTH), + HTML_ATTRIBUTES(OBJECT) +}; + +/* + ( + OL + ) + */ + +enum _HTML_OL_Attributes { + HTML_ATTR(OL,CLASS) = 0, + HTML_ATTR(OL,COMPACT), + HTML_ATTR(OL,DIR), + HTML_ATTR(OL,ID), + HTML_ATTR(OL,LANG), + HTML_ATTR(OL,START), + HTML_ATTR(OL,STYLE), + HTML_ATTR(OL,TITLE), + HTML_ATTR(OL,TYPE), + HTML_ATTRIBUTES(OL) +}; + +/* + ( + OPTGROUP + ) + */ + +enum _HTML_OPTGROUP_Attributes { + HTML_ATTR(OPTGROUP,CLASS) = 0, + HTML_ATTR(OPTGROUP,DISABLED), + HTML_ATTR(OPTGROUP,DIR), + HTML_ATTR(OPTGROUP,ID), + HTML_ATTR(OPTGROUP,LABEL), + HTML_ATTR(OPTGROUP,LANG), + HTML_ATTR(OPTGROUP,STYLE), + HTML_ATTR(OPTGROUP,TITLE), + HTML_ATTRIBUTES(OPTGROUP) +}; + +/* + ( + OPTION + ) + */ + +enum _HTML_OPTION_Attributes { + HTML_ATTR(OPTION,CLASS) = 0, + HTML_ATTR(OPTION,DISABLED), + HTML_ATTR(OPTION,DIR), + HTML_ATTR(OPTION,ID), + HTML_ATTR(OPTION,LABEL), + HTML_ATTR(OPTION,LANG), + HTML_ATTR(OPTION,SELECTED), + HTML_ATTR(OPTION,STYLE), + HTML_ATTR(OPTION,TITLE), + HTML_ATTR(OPTION,VALUE), + HTML_ATTRIBUTES(OPTION) +}; + +/* + ( + PARAM + ) + */ + +enum _HTML_PARAM_Attributes { + HTML_ATTR(PARAM,ID) = 0, + HTML_ATTR(PARAM,NAME), + HTML_ATTR(PARAM,TYPE), + HTML_ATTR(PARAM,VALUE), + HTML_ATTR(PARAM,VALUETYPE), + HTML_ATTRIBUTES(PARAM) +}; + +/* + ( + PRE + ) + */ + +enum _HTML_PRE_Attributes { + HTML_ATTR(PRE,CLASS) = 0, + HTML_ATTR(PRE,DIR), + HTML_ATTR(PRE,ID), + HTML_ATTR(PRE,LANG), + HTML_ATTR(PRE,STYLE), + HTML_ATTR(PRE,TITLE), + HTML_ATTR(PRE,WIDTH), + HTML_ATTRIBUTES(PRE) +}; + +/* + ( + SCRIPT + ) + */ + +enum _HTML_SCRIPT_Attributes { + HTML_ATTR(SCRIPT,CHARSET) = 0, + HTML_ATTR(SCRIPT,DEFER), + HTML_ATTR(SCRIPT,LANGUAGE), + HTML_ATTR(SCRIPT,SRC), + HTML_ATTR(SCRIPT,TYPE), + HTML_ATTRIBUTES(SCRIPT) +}; + +/* + ( + SELECT + ) + */ + +enum _HTML_SELECT_Attributes { + HTML_ATTR(SELECT,CLASS) = 0, + HTML_ATTR(SELECT,DIR), + HTML_ATTR(SELECT,DISABLED), + HTML_ATTR(SELECT,ID), + HTML_ATTR(SELECT,LANG), + HTML_ATTR(SELECT,MULTIPLE), + HTML_ATTR(SELECT,NAME), + HTML_ATTR(SELECT,SIZE), + HTML_ATTR(SELECT,STYLE), + HTML_ATTR(SELECT,TABINDEX), + HTML_ATTR(SELECT,TITLE), + HTML_ATTRIBUTES(SELECT) +}; + +/* + ( + STYLE + ) + */ + +enum _HTML_STYLE_Attributes { + HTML_ATTR(STYLE,DIR) = 0, + HTML_ATTR(STYLE,LANG), + HTML_ATTR(STYLE,MEDIA), + HTML_ATTR(STYLE,TITLE), + HTML_ATTR(STYLE,TYPE), + HTML_ATTRIBUTES(STYLE) +}; + +/* + ( + TABLE + ) + */ + +enum _HTML_TABLE_Attributes { + HTML_ATTR(TABLE,ALIGN) = 0, + HTML_ATTR(TABLE,BGCOLOR), + HTML_ATTR(TABLE,BORDER), + HTML_ATTR(TABLE,CELLPADDING), + HTML_ATTR(TABLE,CELLSPACING), + HTML_ATTR(TABLE,CLASS), + HTML_ATTR(TABLE,DIR), + HTML_ATTR(TABLE,FRAME), + HTML_ATTR(TABLE,ID), + HTML_ATTR(TABLE,LANG), + HTML_ATTR(TABLE,RULES), + HTML_ATTR(TABLE,SUMMARY), + HTML_ATTR(TABLE,STYLE), + HTML_ATTR(TABLE,TITLE), + HTML_ATTR(TABLE,WIDTH), + HTML_ATTRIBUTES(TABLE) +}; + +/* + ( + TABLE Elements + ) + */ + +enum _HTML_TELE_Attributes { + HTML_ATTR(TELE,ALIGN) = 0, + HTML_ATTR(TELE,CHAR), + HTML_ATTR(TELE,CHAROFF), + HTML_ATTR(TELE,CLASS), + HTML_ATTR(TELE,DIR), + HTML_ATTR(TELE,ID), + HTML_ATTR(TELE,LANG), + HTML_ATTR(TELE,STYLE), + HTML_ATTR(TELE,TITLE), + HTML_ATTR(TELE,VALIGN), + HTML_ATTRIBUTES(TELE) +}; + +/* + ( + TD + ) + */ + +enum _HTML_TD_Attributes { + HTML_ATTR(TD,ABBR) = 0, + HTML_ATTR(TD,ALIGN), + HTML_ATTR(TD,AXIS), + HTML_ATTR(TD,BGCOLOR), + HTML_ATTR(TD,CHAR), + HTML_ATTR(TD,CHAROFF), + HTML_ATTR(TD,CLASS), + HTML_ATTR(TD,COLSPAN), + HTML_ATTR(TD,DIR), + HTML_ATTR(TD,ID), + HTML_ATTR(TD,HEADERS), + HTML_ATTR(TD,HEIGHT), + HTML_ATTR(TD,LANG), + HTML_ATTR(TD,NOWRAP), + HTML_ATTR(TD,ROWSPAN), + HTML_ATTR(TD,SCOPE), + HTML_ATTR(TD,STYLE), + HTML_ATTR(TD,TITLE), + HTML_ATTR(TD,VALIGN), + HTML_ATTR(TD,WIDTH), + HTML_ATTRIBUTES(TD) +}; + +/* + ( + TEXTAREA + ) + */ + +enum _HTML_TEXTAREA_Attributes { + HTML_ATTR(TEXTAREA,CLASS) = 0, + HTML_ATTR(TEXTAREA,COLS), + HTML_ATTR(TEXTAREA,DIR), + HTML_ATTR(TEXTAREA,DISABLED), + HTML_ATTR(TEXTAREA,ID), + HTML_ATTR(TEXTAREA,LANG), + HTML_ATTR(TEXTAREA,NAME), + HTML_ATTR(TEXTAREA,READONLY), + HTML_ATTR(TEXTAREA,ROWS), + HTML_ATTR(TEXTAREA,STYLE), + HTML_ATTR(TEXTAREA,TABINDEX), + HTML_ATTR(TEXTAREA,TITLE), + HTML_ATTRIBUTES(TEXTAREA) +}; + +/* + ( + TITLE + ) + */ + +enum _HTML_TITLE_Attributes { + HTML_ATTR(TITLE,DIR) = 0, + HTML_ATTR(TITLE,LANG), + HTML_ATTRIBUTES(TITLE) +}; + +/* + ( + UL + ) + */ + +enum _HTML_UL_Attributes { + HTML_ATTR(UL,CLASS) = 0, + HTML_ATTR(UL,COMPACT), + HTML_ATTR(UL,DIR), + HTML_ATTR(UL,ID), + HTML_ATTR(UL,LANG), + HTML_ATTR(UL,STYLE), + HTML_ATTR(UL,TITLE), + HTML_ATTR(UL,TYPE), + HTML_ATTRIBUTES(UL) +}; + + +/* +** ELEMENTS +** Must match definitions in HTMLPDTD.html! +** Must be in alphabetical order. +** +** Name, Attributes, content +*/ + +// +// SGML.h +// +#define MAX_ATTRIBUTES 32 + +typedef struct _HTAttr { + char * name; +} HTAttr; + +// striped struct +typedef struct _HTTag { + std::string name; + HTAttr * attributes; + int number_of_attributes; +} HTTag; + +// entities are removed +typedef struct { + HTTag * tags; + int number_of_tags; +} SGML_dtd; + +SGML_dtd * HTML_dtd (void); + +#endif + diff --git a/code/nel/src/gui/CMakeLists.txt b/code/nel/src/gui/CMakeLists.txt index 32125791d..6e82b2240 100644 --- a/code/nel/src/gui/CMakeLists.txt +++ b/code/nel/src/gui/CMakeLists.txt @@ -6,9 +6,9 @@ SOURCE_GROUP("src" FILES ${SRC}) NL_TARGET_LIB(nelgui ${SRC} ${HEADERS}) -INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR} ${LUABIND_INCLUDE_DIR} ${LIBWWW_INCLUDE_DIR} ${CURL_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR} ${LUABIND_INCLUDE_DIR} ${CURL_INCLUDE_DIRS}) -TARGET_LINK_LIBRARIES(nelgui nelmisc nel3d ${LUA_LIBRARIES} ${LUABIND_LIBRARIES} ${LIBXML2_LIBRARIES} ${LIBWWW_LIBRARIES} ${CURL_LIBRARIES}) +TARGET_LINK_LIBRARIES(nelgui nelmisc nel3d ${LUA_LIBRARIES} ${LUABIND_LIBRARIES} ${LIBXML2_LIBRARIES} ${CURL_LIBRARIES}) SET_TARGET_PROPERTIES(nelgui PROPERTIES LINK_INTERFACE_LIBRARIES "") NL_DEFAULT_PROPS(nelgui "NeL, Library: NeL GUI") NL_ADD_RUNTIME_FLAGS(nelgui) diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 8619ea878..d99d706b1 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -19,14 +19,6 @@ #include "stdpch.h" #include "nel/gui/group_html.h" -// LibWWW -extern "C" -{ -#include "WWWLib.h" /* Global Library Include file */ -#include "WWWApp.h" -#include "WWWInit.h" -} - #include #include "nel/misc/types_nl.h" #include "nel/misc/rgba.h" @@ -65,7 +57,6 @@ namespace NLGUI // Uncomment to see the log about image download //#define LOG_DL 1 - CGroupHTML *CGroupHTML::_ConnectingLock = NULL; CGroupHTML::SWebOptions CGroupHTML::options; @@ -332,7 +323,6 @@ namespace NLGUI curl_easy_cleanup(it->curl); string file; - if (it->type == ImgType) file = localImageName(it->url); else @@ -440,20 +430,6 @@ namespace NLGUI template void popIfNotEmpty(A &vect) { if(!vect.empty()) vect.pop_back(); } - // Data stored in CGroupHTML for libwww. - - class CLibWWWData - { - public: - CLibWWWData () - { - Request = NULL; - Anchor = NULL; - } - HTRequest *Request; - HTAnchor *Anchor; - }; - // *************************************************************************** void CGroupHTML::beginBuild () @@ -461,9 +437,7 @@ namespace NLGUI if (_Browsing) { nlassert (_Connecting); - nlassert (_ConnectingLock == this); _Connecting = false; - _ConnectingLock = NULL; removeContent (); } @@ -1068,30 +1042,13 @@ namespace NLGUI // Get the action name if (present[HTML_FORM_ACTION] && value[HTML_FORM_ACTION]) { - HTParentAnchor *parent = HTAnchor_parent (_LibWWW->Anchor); - HTChildAnchor *child = HTAnchor_findChildAndLink (parent, "", value[HTML_FORM_ACTION], NULL); - if (child) - { - HTAnchor *mainChild = HTAnchor_followMainLink((HTAnchor *) child); - if (mainChild) - { - C3WSmartPtr uri = HTAnchor_address(mainChild); - form.Action = (const char*)uri; - } - } - else - { - HTAnchor * dest = HTAnchor_findAddress (value[HTML_FORM_ACTION]); - if (dest) - { - C3WSmartPtr uri = HTAnchor_address(dest); - form.Action = (const char*)uri; - } - else - { - form.Action = value[HTML_FORM_ACTION]; - } - } + form.Action = getAbsoluteUrl(string(value[HTML_FORM_ACTION])); + nlinfo("(%s) form.action '%s' (converted)", _Id.c_str(), form.Action.c_str()); + } + else + { + form.Action = _URL; + nlinfo("(%s) using _URL for form.action '%s'", _Id.c_str(), form.Action.c_str()); } _Forms.push_back(form); } @@ -1881,7 +1838,6 @@ namespace NLGUI _PostNextTime = false; _Browsing = false; _Connecting = false; - _LibWWW = new CLibWWWData; _CurrentViewLink = NULL; _CurrentViewImage = NULL; _Indent = 0; @@ -1965,7 +1921,6 @@ namespace NLGUI // this is why the call to 'updateRefreshButton' has been removed from stopBrowse clearContext(); - delete _LibWWW; } std::string CGroupHTML::getProperty( const std::string &name ) const @@ -2894,15 +2849,7 @@ namespace NLGUI clearContext(); _Browsing = false; - if (_Connecting) - { - nlassert (_ConnectingLock == this); - _ConnectingLock = NULL; - } - else - nlassert (_ConnectingLock != this); _Connecting = false; - // stopBrowse (); updateRefreshButton(); #ifdef LOG_DL @@ -2970,24 +2917,6 @@ namespace NLGUI clearContext(); _Browsing = false; - - if (_Connecting) - { - nlassert (_ConnectingLock == this); - _ConnectingLock = NULL; - } - else - nlassert (_ConnectingLock != this); - _Connecting = false; - - // Request running ? - if (_LibWWW->Request) - { - // VerifyLibWWW("HTRequest_kill", HTRequest_kill(_LibWWW->Request) == TRUE); - HTRequest_kill(_LibWWW->Request); - HTRequest_delete(_LibWWW->Request); - _LibWWW->Request = NULL; - } } // *************************************************************************** @@ -3766,36 +3695,6 @@ namespace NLGUI } }; - static int timer_called = 0; - - static int - timer_callback(HTTimer * const timer , - void * const user_data , - HTEventType const event ) - { - /*---------------------------------------------------------------------------- - A handy timer callback which cancels the running event loop. - -----------------------------------------------------------------------------*/ - nlassert(event == HTEvent_TIMEOUT); - timer_called = 1; - HTEventList_stopLoop(); - - /* XXX - The meaning of this return value is undocumented, but close - ** inspection of libwww's source suggests that we want to return HT_OK. */ - return HT_OK; - } - - static void handleLibwwwEvents() - { - HTTimer *timer; - timer_called = 0; - timer = HTTimer_new(NULL, &timer_callback, NULL, - 1, YES, NO); - if (!timer_called) - HTEventList_newLoop(); - HTTimer_delete(timer); - } - // *************************************************************************** void CGroupHTML::handle () @@ -3806,8 +3705,6 @@ namespace NLGUI if (_Connecting) { - nlassert (_ConnectingLock == this); - // Check timeout if needed if (_TimeoutValue != 0 && _ConnectingTimeout <= ( times.thisFrameMs / 1000.0f ) ) { @@ -3815,296 +3712,12 @@ namespace NLGUI } } else + if (_BrowseNextTime || _PostNextTime) { - if (_ConnectingLock == NULL) - { - if (_BrowseNextTime) - { - // Stop browsing now - stopBrowse (); - updateRefreshButton(); - - // Browsing - _Browsing = true; - updateRefreshButton(); - - // Home ? - if (_URL == "home") - _URL = home(); - - string finalUrl; - bool isLocal = lookupLocalFile (finalUrl, _URL.c_str(), true); - - // Reset the title - if(_TitlePrefix.empty()) - setTitle (CI18N::get("uiPleaseWait")); - else - setTitle (_TitlePrefix + " - " + CI18N::get("uiPleaseWait")); - - // Start connecting - nlassert (_ConnectingLock == NULL); - _ConnectingLock = this; - _Connecting = true; - _ConnectingTimeout = ( times.thisFrameMs / 1000.0f ) + _TimeoutValue; - - // Save new url - _URL = finalUrl; - - // file is probably from bnp (ingame help) - if (isLocal) - { - if (strlwr(finalUrl).find("file:/") == 0) - { - finalUrl = finalUrl.substr(6, finalUrl.size() - 6); - } - doBrowseLocalFile(finalUrl); - } - else - { - - CButtonFreezer freezer; - this->visit(&freezer); - - // display HTTP query - //nlinfo("WEB: GET '%s'", finalUrl.c_str()); - - // Init LibWWW - initLibWWW(); - _TrustedDomain = isTrustedDomain(setCurrentDomain(finalUrl)); - - // Add custom get params - addHTTPGetParams (finalUrl, _TrustedDomain); - - - // Get the final URL - C3WSmartPtr uri = HTParse(finalUrl.c_str(), NULL, PARSE_ALL); - - // Create an anchor - if ((_LibWWW->Anchor = HTAnchor_findAddress(uri)) == NULL) - { - browseError((string("The page address is malformed : ")+(const char*)uri).c_str()); - } - else - { - /* Add our own request terminate handler. Nb: pass as param a UID, not the ptr */ - /* FIX ME - every connection is appending a new callback to the list, and its never removed (Vinicius Arroyo)*/ - HTNet_addAfter(requestTerminater, NULL, (void*)(size_t)_GroupHtmlUID, HT_ALL, HT_FILTER_LAST); - - /* Set the timeout for long we are going to wait for a response */ - HTHost_setEventTimeout(60000); - - /* Start the first request */ - // request = Request_new(app); - _LibWWW->Request = HTRequest_new(); - HTRequest_setContext(_LibWWW->Request, this); - - // add supported language header - HTList *langs = HTList_new(); - // set the language code used by the client - HTLanguage_add(langs, options.languageCode.c_str(), 1.0); - HTRequest_setLanguage (_LibWWW->Request, langs, 1); - - // get_document(_LibWWW->Request, _LibWWW->Anchor); - C3WSmartPtr address = HTAnchor_address(_LibWWW->Anchor); - HTRequest_setAnchor(_LibWWW->Request, _LibWWW->Anchor); - if (HTLoad(_LibWWW->Request, NO)) - { - } - else - { - browseError((string("The page cannot be displayed : ")+(const char*)uri).c_str()); - } - } - - } // !isLocal - - _BrowseNextTime = false; - } - - if (_PostNextTime) - { - /* Create a list to hold the form arguments */ - HTAssocList * formfields = HTAssocList_new(); - - // Add text area text - uint i; - - // Ref the form - CForm &form = _Forms[_PostFormId]; - - // Save new url - _URL = form.Action; - - for (i=0; igetGroup ("eb"); - if (group) - { - // Should be a CGroupEditBox - CGroupEditBox *editBox = dynamic_cast(group); - if (editBox) - { - entryData = editBox->getViewText()->getText(); - addEntry = true; - } - } - } - else if (form.Entries[i].Checkbox) - { - // todo handle unicode POST here - if (form.Entries[i].Checkbox->getPushed ()) - { - entryData = ucstring ("on"); - addEntry = true; - } - } - else if (form.Entries[i].ComboBox) - { - CDBGroupComboBox *cb = form.Entries[i].ComboBox; - entryData.fromUtf8(form.Entries[i].SelectValues[cb->getSelection()]); - addEntry = true; - } - // This is a hidden value - else - { - entryData = form.Entries[i].Value; - addEntry = true; - } - - // Add this entry - if (addEntry) - { - // Build a utf8 string - string uft8 = form.Entries[i].Name + "=" + CI18N::encodeUTF8(entryData); - - /* Parse the content and add it to the association list */ - HTParseFormInput(formfields, uft8.c_str()); - } - } - - if (_PostFormSubmitType == "image") - { - // Add the button coordinates - if (_PostFormSubmitButton.find_first_of("[") == string::npos) - { - HTParseFormInput(formfields, (_PostFormSubmitButton + "_x=" + NLMISC::toString(_PostFormSubmitX)).c_str()); - HTParseFormInput(formfields, (_PostFormSubmitButton + "_y=" + NLMISC::toString(_PostFormSubmitY)).c_str()); - } - else - { - HTParseFormInput(formfields, (_PostFormSubmitButton + "=" + NLMISC::toString(_PostFormSubmitX)).c_str()); - HTParseFormInput(formfields, (_PostFormSubmitButton + "=" + NLMISC::toString(_PostFormSubmitY)).c_str()); - } - } - else - HTParseFormInput(formfields, (_PostFormSubmitButton + "=" + _PostFormSubmitValue).c_str()); - - // Add custom params - addHTTPPostParams(formfields, _TrustedDomain); - - // Reset the title - if(_TitlePrefix.empty()) - setTitle (CI18N::get("uiPleaseWait")); - else - setTitle (_TitlePrefix + " - " + CI18N::get("uiPleaseWait")); - - // Stop previous browse - stopBrowse (); - - // Set timeout - nlassert (_ConnectingLock == NULL); - _ConnectingLock = this; - _Connecting = true; - _ConnectingTimeout = ( times.thisFrameMs / 1000.0f ) + _TimeoutValue; - - CButtonFreezer freezer; - this->visit(&freezer); - - // Browsing - _Browsing = true; - updateRefreshButton(); - - // display HTTP query with post parameters - //nlinfo("WEB: POST %s", _URL.c_str()); - - // Init LibWWW - initLibWWW(); - _TrustedDomain = isTrustedDomain(setCurrentDomain(_URL)); - - // Get the final URL - C3WSmartPtr uri = HTParse(_URL.c_str(), NULL, PARSE_ALL); - - // Create an anchor - if ((_LibWWW->Anchor = HTAnchor_findAddress(uri)) == NULL) - { - browseError((string("The page address is malformed : ")+(const char*)uri).c_str()); - } - else - { - /* Add our own request terminate handler. Nb: pass as param a UID, not the ptr */ - /* FIX ME - every connection is appending a new callback to the list, and its never removed (Vinicius Arroyo)*/ - HTNet_addAfter(requestTerminater, NULL, (void*)(size_t)_GroupHtmlUID, HT_ALL, HT_FILTER_LAST); - - /* Start the first request */ - - // request = Request_new(app); - _LibWWW->Request = HTRequest_new(); - HTRequest_setContext(_LibWWW->Request, this); - - /* - ** Dream up a source anchor (an editor can for example use this). - ** After creation we associate the data that we want to post and - ** set some metadata about what the data is. More formats can be found - ** ../src/HTFormat.html - */ - /*HTParentAnchor *src = HTTmpAnchor(NULL); - HTAnchor_setDocument(src, (void*)(data.c_str())); - HTAnchor_setFormat(src, WWW_PLAINTEXT);*/ - - /* - ** If not posting to an HTTP/1.1 server then content length MUST be - ** there. If HTTP/1.1 then it doesn't matter as we just use chunked - ** encoding under the covers - */ - // HTAnchor_setLength(src, data.size()); - - HTParentAnchor *result = HTPostFormAnchor (formfields, _LibWWW->Anchor, _LibWWW->Request); - if (result) - { - } - else - { - browseError((string("The page cannot be displayed : ")+(const char*)uri).c_str()); - } - - /* POST the source to the dest */ - /* - BOOL status = NO; - status = HTPostAnchor(src, _LibWWW->Anchor, _LibWWW->Request); - if (status) - { - } - else - { - browseError((string("The page cannot be displayed : ")+(const char*)uri).c_str()); - }*/ - } - - _PostNextTime = false; - } - } + _BrowseNextTime = false; + _PostNextTime = false; } - #ifndef NL_OS_WINDOWS - if(isBrowsing()) - handleLibwwwEvents(); - #endif } // *************************************************************************** @@ -4149,6 +3762,7 @@ namespace NLGUI // libwww would call requestTerminated() here _Browsing = false; + if (_TitleString.empty()) { setTitle(_TitlePrefix); @@ -4189,20 +3803,7 @@ namespace NLGUI void CGroupHTML::requestTerminated(HTRequest * request ) { - // this callback is being called for every request terminated - if (request == _LibWWW->Request) - { - // set the browser as complete - _Browsing = false; - updateRefreshButton(); - // check that the title is set, or reset it (in the case the page - // does not provide a title) - if (_TitleString.empty()) - { - setTitle(_TitlePrefix); - } - } - } + } // *************************************************************************** diff --git a/code/nel/src/gui/group_html_parser.cpp b/code/nel/src/gui/group_html_parser.cpp index fdb9a549f..19d1efe1a 100644 --- a/code/nel/src/gui/group_html_parser.cpp +++ b/code/nel/src/gui/group_html_parser.cpp @@ -39,8 +39,8 @@ namespace NLGUI { CXMLAutoPtr ptr; // load attributes into libwww structs - BOOL present[MAX_ATTRIBUTES]; - const char *value[MAX_ATTRIBUTES]; + BOOL present[MAX_ATTRIBUTES] = {0}; + const char *value[MAX_ATTRIBUTES] = {NULL}; std::string strvalues[MAX_ATTRIBUTES]; uint nbAttributes = std::min(MAX_ATTRIBUTES, HTML_DTD->tags[element_number].number_of_attributes); @@ -57,11 +57,6 @@ namespace NLGUI value[i] = strvalues[i].c_str(); present[i] = true; } - else - { - value[i] = NULL; - present[i] = false; - } } if (element_number == HTML_A) @@ -110,7 +105,7 @@ namespace NLGUI // find libwww tag for(element_number = 0; element_numbername, (const xmlChar *)HTML_DTD->tags[element_number].name, xmlStrlen(node->name)) == 0) + if (xmlStrncasecmp(node->name, (const xmlChar *)HTML_DTD->tags[element_number].name.c_str(), xmlStrlen(node->name)) == 0) break; } diff --git a/code/nel/src/gui/libwww.cpp b/code/nel/src/gui/libwww.cpp index 09f3a0cea..e5a587f4d 100644 --- a/code/nel/src/gui/libwww.cpp +++ b/code/nel/src/gui/libwww.cpp @@ -18,25 +18,8 @@ #include "nel/gui/group_html.h" -// LibWWW -extern "C" -{ -#include "WWWLib.h" /* Global Library Include file */ -#include "WWWApp.h" -#include "WWWInit.h" -} - -#include "nel/gui/group_html.h" -#include "nel/gui/libwww_nel_stream.h" - using namespace NLMISC; -// The HText structure for libwww -struct _HText -{ - NLGUI::CGroupHTML *Parent; -}; - namespace NLGUI { @@ -213,7 +196,6 @@ namespace NLGUI { 0 } }; - HTAttr p_attr[] = { HTML_ATTR(P,QUICK_HELP_CONDITION), @@ -243,93 +225,6 @@ namespace NLGUI // *************************************************************************** - void _VerifyLibWWW(const char *function, bool ok, const char *file, int line) - { - if (!ok) - nlwarning("%s(%d) : LIBWWW %s returned a bad status", file, line, function); - } - #define VerifyLibWWW(a,b) _VerifyLibWWW(a,(b)!=FALSE,__FILE__,__LINE__) - - // *************************************************************************** - - int NelPrinter (const char * fmt, va_list pArgs) - { - char info[1024]; - int ret; - - ret = vsnprintf(info, sizeof(info), fmt, pArgs); - nlinfo("%s", info); - return ret; - } - - // *************************************************************************** - - int NelTracer (const char * fmt, va_list pArgs) - { - char err[1024]; - int ret; - - ret = vsnprintf(err, sizeof(err), fmt, pArgs); - nlwarning ("%s", err); - return ret; - } - - // *************************************************************************** - - HText * TextNew (HTRequest * request, - HTParentAnchor * /* anchor */, - HTStream * /* output_stream */) - { - HText *text = new HText; - text->Parent = (CGroupHTML *) HTRequest_context(request); - return text; - } - - // *************************************************************************** - - BOOL TextDelete (HText * me) - { - delete me; - return YES; - } - - // *************************************************************************** - - void TextBuild (HText * me, HTextStatus status) - { - // Do the work in the class - if (status == HTEXT_BEGIN) - me->Parent->beginBuild (); - else if (status == HTEXT_END) - me->Parent->endBuild (); - } - - // *************************************************************************** - - void TextAdd (HText * me, const char * buf, int len) - { - // Do the work in the class - me->Parent->addText (buf, len); - } - - // *************************************************************************** - - void TextLink (HText * me, - int element_number, - int attribute_number, - HTChildAnchor * anchor, - const BOOL * present, - const char ** value) - { - // Do the work in the class - if (element_number == HTML_A) - { - me->Parent->addLink (element_number, present, value); - } - } - - // *************************************************************************** - // Read a width HTML parameter. "100" or "100%". Returns true if percent (0 ~ 1) else false bool getPercentage (sint32 &width, float &percent, const char *str) { @@ -386,307 +281,11 @@ namespace NLGUI return dst; } - // *************************************************************************** - - void TextBeginElement (HText *me, int element_number, const BOOL *present, const char **value) - { - // Do the work in the class - me->Parent->beginElement (element_number, present, value); - } - - // *************************************************************************** - - void TextEndElement (HText *me, int element_number) - { - // Do the work in the class - me->Parent->endElement (element_number); - } - - // *************************************************************************** - void TextBeginUnparsedElement(HText *me, const char *buffer, int length) - { - me->Parent->beginUnparsedElement(buffer, length); - } - - // *************************************************************************** - void TextEndUnparsedElement(HText *me, const char *buffer, int length) - { - me->Parent->endUnparsedElement(buffer, length); - } - - // *************************************************************************** - void TextUnparsedEntity (HText * /* HText */, const char *buffer, int length) - { - std::string str(buffer, buffer+length); - nlinfo("Unparsed entity '%s'", str.c_str()); - } - - // *************************************************************************** - int requestTerminater (HTRequest * request, HTResponse * /* response */, - void * param, int /* status */) - { - /* - Yoyo and Boris: we had to make the request terminate by UID and not by pointer (param is an uid). - Because this method was called at mainLoop time, but for GroupHTML created/deleted at login time !!! - => Memory Crash. - */ - - // TestYoyo - //nlinfo("** requestTerminater(): uid%d", (uint32)param); - - // the parameter is actually an uint32 - if (param != 0) - { - CGroupHTML::TGroupHtmlByUIDMap::iterator it= CGroupHTML::_GroupHtmlByUID.find((uint32)(size_t)param); - if(it!=CGroupHTML::_GroupHtmlByUID.end()) - { - // get the pointer. NB: the refptr should not be NULL - // since object removed from map when deleted - CGroupHTML *gh = it->second; - nlassert(gh); - - // callback the browser - gh->requestTerminated(request); - } - } - return HT_OK; - } - - - // callback called when receiving a cookie - BOOL receiveCookie (HTRequest * /* request */, HTCookie * cookie, void * /* param */) - { - if (strcmp(HTCookie_name(cookie), "ryzomId") == 0) - { - // we receive the ryzom id cookie, store it - CurrentCookie = HTCookie_value(cookie); - } - else - { - // store the id/value cookie - HTTPCookies[HTTPCurrentDomain][HTCookie_name(cookie)] = HTCookie_value(cookie); - // nlwarning("get cookie for domain %s %s=%s", HTTPCurrentDomain.c_str(), HTCookie_name(cookie), HTCookie_value(cookie)); - } - - return YES; - } - - // callback called to add cookie to a request before sending it to the server - HTAssocList *sendCookie (HTRequest * /* request */, void * /* param */) - { - HTAssocList * alist = 0; - if (!CurrentCookie.empty()) - { - if(alist == 0) alist = HTAssocList_new(); /* Is deleted by the cookie module */ - HTAssocList_addObject(alist, "ryzomId", CurrentCookie.c_str()); - } - - if(!HTTPCookies[HTTPCurrentDomain].empty()) - { - if(alist == 0) alist = HTAssocList_new(); - for(std::map::iterator it = HTTPCookies[HTTPCurrentDomain].begin(); it != HTTPCookies[HTTPCurrentDomain].end(); it++) - { - HTAssocList_addObject(alist, it->first.c_str(), it->second.c_str()); - // nlwarning("set cookie for domain '%s' %s=%s", HTTPCurrentDomain.c_str(), it->first.c_str(), it->second.c_str()); - } - } - return alist; - } - - - // *************************************************************************** - - HTAnchor * TextFindAnchor (HText * /* me */, int /* index */) - { - return NULL; - } - - int HTMIME_location_custom (HTRequest * request, HTResponse * response, char * token, char * value) - { - char * location = HTStrip(value); - - std::string finalLocation; - - //nlinfo("redirect to '%s' '%s'", value, location); - - // If not absolute URI (Error) then find the base - if (!HTURL_isAbsolute(location)) - { - char * base = HTAnchor_address((HTAnchor *) HTRequest_anchor(request)); - location = HTParse(location, base, PARSE_ALL); - //redirection = HTAnchor_findAddress(location); - finalLocation = location; - HT_FREE(base); - HT_FREE(location); - } - else - { - finalLocation = location; - } - //nlinfo("final location '%s'", finalLocation.c_str()); - - CGroupHTML *gh = (CGroupHTML *) HTRequest_context(request); - - gh->setURL(finalLocation); - - return HT_OK; - } - - - // *************************************************************************** - - const std::string &setCurrentDomain(const std::string &url) - { - if(url.find("http://") == 0) - { - HTTPCurrentDomain = url.substr(7, url.find('/', 7)-7); - // nlinfo("****cd: %s", HTTPCurrentDomain.c_str()); - } - else - { - HTTPCurrentDomain.clear(); - // nlinfo("****cd: clear the domain"); - } - return HTTPCurrentDomain; - } - - void initLibWWW() { static bool initialized = false; if (!initialized) { - //HTProfile_newNoCacheClient("Ryzom", "1.1"); - - /* Need our own trace and print functions */ - HTPrint_setCallback(NelPrinter); - HTTrace_setCallback(NelTracer); - - /* Initiate libwww */ - HTLib_setAppName( CGroupHTML::options.appName.c_str() ); - HTLib_setAppVersion( CGroupHTML::options.appVersion.c_str() ); - - /* Set up TCP as transport */ - VerifyLibWWW("HTTransport_add", HTTransport_add("buffered_tcp", HT_TP_SINGLE, HTReader_new, HTBufferWriter_new)); - VerifyLibWWW("HTTransport_add", HTTransport_add("local", HT_TP_SINGLE, HTNeLReader_new, HTWriter_new)); - // VerifyLibWWW("HTTransport_add", HTTransport_add("local", HT_TP_SINGLE, HTANSIReader_new, HTWriter_new)); - // VerifyLibWWW("HTTransport_add", HTTransport_add("local", HT_TP_SINGLE, HTReader_new, HTWriter_new)); - - /* Set up HTTP as protocol */ - VerifyLibWWW("HTProtocol_add", HTProtocol_add("http", "buffered_tcp", 80, NO, HTLoadHTTP, NULL)); - VerifyLibWWW("HTProtocol_add", HTProtocol_add("file", "local", 0, YES, HTLoadNeLFile, NULL)); - //VerifyLibWWW("HTProtocol_add", HTProtocol_add("file", "local", 0, YES, HTLoadFile, NULL)); - // HTProtocol_add("cache", "local", 0, NO, HTLoadCache, NULL); - - HTBind_init(); - // HTCacheInit(NULL, 20); - - /* Setup up transfer coders */ - HTFormat_addTransferCoding((char*)"chunked", HTChunkedEncoder, HTChunkedDecoder, 1.0); - - /* Setup MIME stream converters */ - HTFormat_addConversion("message/rfc822", "*/*", HTMIMEConvert, 1.0, 0.0, 0.0); - HTFormat_addConversion("message/x-rfc822-foot", "*/*", HTMIMEFooter, 1.0, 0.0, 0.0); - HTFormat_addConversion("message/x-rfc822-head", "*/*", HTMIMEHeader, 1.0, 0.0, 0.0); - HTFormat_addConversion("message/x-rfc822-cont", "*/*", HTMIMEContinue, 1.0, 0.0, 0.0); - HTFormat_addConversion("message/x-rfc822-partial","*/*", HTMIMEPartial, 1.0, 0.0, 0.0); - HTFormat_addConversion("multipart/*", "*/*", HTBoundary, 1.0, 0.0, 0.0); - - /* Setup HTTP protocol stream */ - HTFormat_addConversion("text/x-http", "*/*", HTTPStatus_new, 1.0, 0.0, 0.0); - - /* Setup the HTML parser */ - HTFormat_addConversion("text/html", "www/present", HTMLPresent, 1.0, 0.0, 0.0); - - /* Setup black hole stream */ - HTFormat_addConversion("*/*", "www/debug", HTBlackHoleConverter, 1.0, 0.0, 0.0); - HTFormat_addConversion("*/*", "www/present", HTBlackHoleConverter, 0.3, 0.0, 0.0); - - /* Set max number of sockets we want open simultaneously */ - HTNet_setMaxSocket(32); - - /* Register our HTML parser callbacks */ - VerifyLibWWW("HText_registerCDCallback", HText_registerCDCallback (TextNew, TextDelete)); - VerifyLibWWW("HText_registerBuildCallback", HText_registerBuildCallback (TextBuild)); - VerifyLibWWW("HText_registerTextCallback", HText_registerTextCallback(TextAdd)); - VerifyLibWWW("HText_registerLinkCallback", HText_registerLinkCallback (TextLink)); - VerifyLibWWW("HText_registerElementCallback", HText_registerElementCallback (TextBeginElement, TextEndElement)); - VerifyLibWWW("HText_registerUnparsedElementCallback", HText_registerUnparsedElementCallback(TextBeginUnparsedElement, TextEndUnparsedElement)); - VerifyLibWWW("HText_registerUnparsedEntityCallback ", HText_registerUnparsedEntityCallback (TextUnparsedEntity )); - - - /* Register the default set of MIME header parsers */ - struct { - const char * string; - HTParserCallback * pHandler; - } fixedHandlers[] = { - {"accept", &HTMIME_accept}, - {"accept-charset", &HTMIME_acceptCharset}, - {"accept-encoding", &HTMIME_acceptEncoding}, - {"accept-language", &HTMIME_acceptLanguage}, - {"accept-ranges", &HTMIME_acceptRanges}, - {"authorization", NULL}, - {"cache-control", &HTMIME_cacheControl}, - {"connection", &HTMIME_connection}, - {"content-encoding", &HTMIME_contentEncoding}, - {"content-length", &HTMIME_contentLength}, - {"content-range", &HTMIME_contentRange}, - {"content-transfer-encoding", &HTMIME_contentTransferEncoding}, - {"content-type", &HTMIME_contentType}, - {"digest-MessageDigest", &HTMIME_messageDigest}, - {"keep-alive", &HTMIME_keepAlive}, - {"link", &HTMIME_link}, - {"location", &HTMIME_location_custom}, - {"max-forwards", &HTMIME_maxForwards}, - {"mime-version", NULL}, - {"pragma", &HTMIME_pragma}, - {"protocol", &HTMIME_protocol}, - {"protocol-info", &HTMIME_protocolInfo}, - {"protocol-request", &HTMIME_protocolRequest}, - {"proxy-authenticate", &HTMIME_authenticate}, - {"proxy-authorization", &HTMIME_proxyAuthorization}, - {"public", &HTMIME_public}, - {"range", &HTMIME_range}, - {"referer", &HTMIME_referer}, - {"retry-after", &HTMIME_retryAfter}, - {"server", &HTMIME_server}, - {"trailer", &HTMIME_trailer}, - {"transfer-encoding", &HTMIME_transferEncoding}, - {"upgrade", &HTMIME_upgrade}, - {"user-agent", &HTMIME_userAgent}, - {"vary", &HTMIME_vary}, - {"via", &HTMIME_via}, - {"warning", &HTMIME_warning}, - {"www-authenticate", &HTMIME_authenticate}, - {"authentication-info", &HTMIME_authenticationInfo}, - {"proxy-authentication-info", &HTMIME_proxyAuthenticationInfo} - }; - - for (uint i = 0; i < sizeof(fixedHandlers)/sizeof(fixedHandlers[0]); i++) - HTHeader_addParser(fixedHandlers[i].string, NO, fixedHandlers[i].pHandler); - - /* Set up default event loop */ - HTEventInit(); - - /* Add our own request terminate handler */ - HTNet_addAfter(requestTerminater, NULL, 0, HT_ALL, HT_FILTER_LAST); - - /* Setup cookies */ - HTCookie_init(); - HTCookie_setCookieMode(HTCookieMode(HT_COOKIE_ACCEPT | HT_COOKIE_SEND)); - HTCookie_setCallbacks(receiveCookie, NULL, sendCookie, NULL); - - /* Start the first request */ - - /* Go into the event loop... */ - // HTEventList_newLoop(); - - // App_delete(app); - - HTBind_add("htm", "text/html", NULL, "8bit", NULL, 1.0); /* HTML */ - HTBind_add("html", "text/html", NULL, "8bit", NULL, 1.0); /* HTML */ - - HTBind_caseSensitive(NO); // Change the HTML DTD SGML_dtd *HTML_DTD = HTML_dtd (); @@ -713,16 +312,6 @@ namespace NLGUI 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); - // HTHost_setActiveTimeout (30000); - // HTHost_setPersistTimeout (30000); - - // libwww default value is 2000ms for POST/PUT requests on the first and 3000 on the second, smallest allowed value is 21ms - // too small values may create timeout problems but we want it low as possible - // second value is the timeout for the second try to we set that high - HTTP_setBodyWriteDelay(250, 3000); - // Initialized initialized = true; } diff --git a/code/nel/src/gui/libwww_nel_stream.cpp b/code/nel/src/gui/libwww_nel_stream.cpp deleted file mode 100644 index b7e218b30..000000000 --- a/code/nel/src/gui/libwww_nel_stream.cpp +++ /dev/null @@ -1,633 +0,0 @@ -// Ryzom - MMORPG Framework -// Copyright (C) 2010 Winch Gate Property Limited -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - - -#include "stdpch.h" -#include - -extern "C" -{ - -/* Library Includes */ -#include "wwwsys.h" -#include "WWWUtil.h" -#include "WWWCore.h" -#include "WWWDir.h" -#include "WWWTrans.h" -#include "HTReqMan.h" -#include "HTBind.h" -#include "HTMulti.h" -#include "HTNetMan.h" -#include "HTChannl.h" -#include "nel/gui/libwww_nel_stream.h" /* Implemented here */ -} - -using namespace std; -using namespace NLMISC; - -extern "C" -{ - -/* Final states have negative value */ -typedef enum _FileState -{ - FS_RETRY = -4, - FS_ERROR = -3, - FS_NO_DATA = -2, - FS_GOT_DATA = -1, - FS_BEGIN = 0, - FS_PENDING, - FS_DO_CN, - FS_NEED_OPEN_FILE, - FS_NEED_BODY, - FS_PARSE_DIR, - FS_TRY_FTP -} FileState; - -/* This is the context structure for the this module */ -typedef struct _file_info -{ - FileState state; /* Current state of the connection */ - char * local; /* Local representation of file name */ - struct stat stat_info; /* Contains actual file chosen */ - HTNet * net; - HTTimer * timer; -} file_info; - -struct _HTStream -{ - const HTStreamClass * isa; -}; - -struct _HTInputStream -{ - const HTInputStreamClass * isa; - HTChannel * ch; - HTHost * host; - char * write; /* Last byte written */ - char * read; /* Last byte read */ - int b_read; - char data [INPUT_BUFFER_SIZE]; /* buffer */ -}; - -PRIVATE int FileCleanup (HTRequest *req, int status) -{ - HTNet * net = HTRequest_net(req); - file_info * file = (file_info *) HTNet_context(net); - HTStream * input = HTRequest_inputStream(req); - - /* Free stream with data TO Local file system */ - if (input) - { - if (status == HT_INTERRUPTED) - (*input->isa->abort)(input, NULL); - else - (*input->isa->_free)(input); - HTRequest_setInputStream(req, NULL); - } - - /* - ** Remove if we have registered a timer function as a callback - */ - if (file->timer) - { - HTTimer_delete(file->timer); - file->timer = NULL; - } - - if (file) - { - HT_FREE(file->local); - HT_FREE(file); - } - - HTNet_delete(net, status); - return YES; -} - - -PRIVATE int FileEvent (SOCKET soc, void * pVoid, HTEventType type); - -PUBLIC int HTLoadNeLFile (SOCKET soc, HTRequest * request) -{ - file_info *file; /* Specific access information */ - HTNet * net = HTRequest_net(request); - HTParentAnchor * anchor = HTRequest_anchor(request); - - HTTRACE(PROT_TRACE, "HTLoadFile.. Looking for `%s\'\n" _ HTAnchor_physical(anchor)); - if ((file = (file_info *) HT_CALLOC(1, sizeof(file_info))) == NULL) HT_OUTOFMEM("HTLoadFILE"); - file->state = FS_BEGIN; - file->net = net; - HTNet_setContext(net, file); - HTNet_setEventCallback(net, FileEvent); - HTNet_setEventParam(net, file); /* callbacks get http* */ - - return FileEvent(soc, file, HTEvent_BEGIN); /* get it started - ops is ignored */ -} - -PRIVATE int ReturnEvent (HTTimer * timer, void * param, HTEventType /* type */) -{ - file_info * file = (file_info *) param; - if (timer != file->timer) HTDEBUGBREAK("File timer %p not in sync\n" _ timer); - - HTTRACE(PROT_TRACE, "HTLoadFile.. Continuing %p with timer %p\n" _ file _ timer); - - /* - ** Delete the timer - */ - HTTimer_delete(file->timer); - file->timer = NULL; - - /* - ** Now call the event again - */ - return FileEvent(INVSOC, file, HTEvent_READ); -} - -PUBLIC int HTNeLFileOpen (HTNet * net, char * local, HTLocalMode /* mode */) -{ - HTRequest * request = HTNet_request(net); - HTHost * host = HTNet_host(net); - CIFile* fp = new CIFile; - - if (!fp->open (local)) - { - HTRequest_addSystemError(request, ERR_FATAL, errno, NO, "CIFile::open"); - return HT_ERROR; - } - - HTHost_setChannel(host, HTChannel_new(INVSOC, (FILE*)fp, YES)); - - HTHost_getInput(host, HTNet_transport(net), NULL, 0); - HTHost_getOutput(host, HTNet_transport(net), NULL, 0); - return HT_OK; -} - -PRIVATE int FileEvent (SOCKET /* soc */, void * pVoid, HTEventType type) -{ - file_info *file = (file_info *)pVoid; /* Specific access information */ - int status = HT_ERROR; - HTNet * net = file->net; - HTRequest * request = HTNet_request(net); - HTParentAnchor * anchor = HTRequest_anchor(request); - - if (type == HTEvent_CLOSE) - { - /* Interrupted */ - HTRequest_addError(request, ERR_FATAL, NO, HTERR_INTERRUPTED, - NULL, 0, "HTLoadFile"); - FileCleanup(request, HT_INTERRUPTED); - return HT_OK; - } - - - /* Now jump into the machine. We know the state from the previous run */ - for(;;) - { - switch (file->state) - { - case FS_BEGIN: - - /* We only support safe (GET, HEAD, etc) methods for the moment */ - if (!HTMethod_isSafe(HTRequest_method(request))) { - HTRequest_addError(request, ERR_FATAL, NO, HTERR_NOT_ALLOWED, - NULL, 0, "HTLoadFile"); - file->state = FS_ERROR; - break; - } - - /* Check whether we have access to local disk at all */ - if (HTLib_secure()) - { - HTTRACE(PROT_TRACE, "LoadFile.... No access to local file system\n"); - file->state = FS_TRY_FTP; - break; - } - - /*file->local = HTWWWToLocal(HTAnchor_physical(anchor), "", - HTRequest_userProfile(request));*/ - { - string tmp = HTAnchor_physical(anchor); - if (strlwr(tmp).find("file:/") == 0) - { - tmp = tmp.substr(6, tmp.size()-6); - } - StrAllocCopy(file->local, tmp.c_str()); - } - - if (!file->local) - { - file->state = FS_TRY_FTP; - break; - } - - /* Create a new host object and link it to the net object */ - { - HTHost * host = NULL; - if ((host = HTHost_new("localhost", 0)) == NULL) return HT_ERROR; - HTNet_setHost(net, host); - if (HTHost_addNet(host, net) == HT_PENDING) - { - HTTRACE(PROT_TRACE, "HTLoadFile.. Pending...\n"); - /* move to the hack state */ - file->state = FS_PENDING; - return HT_OK; - } - } - file->state = FS_DO_CN; - break; - - case FS_PENDING: - { - HTHost * host = NULL; - if ((host = HTHost_new((char*)"localhost", 0)) == NULL) return HT_ERROR; - HTNet_setHost(net, host); - if (HTHost_addNet(host, net) == HT_PENDING) - { - HTTRACE(PROT_TRACE, "HTLoadFile.. Pending...\n"); - file->state = FS_PENDING; - return HT_OK; - } - } - file->state = FS_DO_CN; - break; - - case FS_DO_CN: - if (HTRequest_negotiation(request) && - HTMethod_isSafe(HTRequest_method(request))) - { - HTAnchor_setPhysical(anchor, file->local); - HTTRACE(PROT_TRACE, "Load File... Found `%s\'\n" _ file->local); - } - else - { - if (HT_STAT(file->local, &file->stat_info) == -1) - { - HTTRACE(PROT_TRACE, "Load File... Not found `%s\'\n" _ file->local); - HTRequest_addError(request, ERR_FATAL, NO, HTERR_NOT_FOUND, NULL, 0, "HTLoadFile"); - file->state = FS_ERROR; - break; - } - } - - if (((file->stat_info.st_mode) & S_IFMT) == S_IFDIR) - { - if (HTRequest_method(request) == METHOD_GET) - { - file->state = FS_PARSE_DIR; - } - else - { - HTRequest_addError(request, ERR_INFO, NO, HTERR_NO_CONTENT, NULL, 0, "HTLoadFile"); - file->state = FS_NO_DATA; - } - break; - } - - { - BOOL editable = FALSE; - HTBind_getAnchorBindings(anchor); - if (editable) HTAnchor_appendAllow(anchor, METHOD_PUT); - - /* Set the file size */ - CIFile nelFile; - if (nelFile.open (file->local)) - { - file->stat_info.st_size = nelFile.getFileSize(); - } - nelFile.close(); - - if (file->stat_info.st_size) - HTAnchor_setLength(anchor, file->stat_info.st_size); - - /* Set the file last modified time stamp */ - if (file->stat_info.st_mtime > 0) - HTAnchor_setLastModified(anchor, file->stat_info.st_mtime); - - /* Check to see if we can edit it */ - if (!editable && !file->stat_info.st_size) - { - HTRequest_addError(request, ERR_INFO, NO, HTERR_NO_CONTENT, NULL, 0, "HTLoadFile"); - file->state = FS_NO_DATA; - } - else - { - file->state = (HTRequest_method(request)==METHOD_GET) ? FS_NEED_OPEN_FILE : FS_GOT_DATA; - } - } - break; - - case FS_NEED_OPEN_FILE: - status = HTNeLFileOpen(net, file->local, HT_FB_RDONLY); - if (status == HT_OK) - { - { - HTStream * rstream = HTStreamStack(HTAnchor_format(anchor), - HTRequest_outputFormat(request), - HTRequest_outputStream(request), - request, YES); - HTNet_setReadStream(net, rstream); - HTRequest_setOutputConnected(request, YES); - } - - { - HTOutputStream * output = HTNet_getOutput(net, NULL, 0); - HTRequest_setInputStream(request, (HTStream *) output); - } - - if (HTRequest_isSource(request) && !HTRequest_destinationsReady(request)) return HT_OK; - - HTRequest_addError(request, ERR_INFO, NO, HTERR_OK, NULL, 0, "HTLoadFile"); - file->state = FS_NEED_BODY; - - if (HTEvent_isCallbacksRegistered()) - { - if (!HTRequest_preemptive(request)) - { - if (!HTNet_preemptive(net)) - { - HTTRACE(PROT_TRACE, "HTLoadFile.. Returning\n"); - HTHost_register(HTNet_host(net), net, HTEvent_READ); - } - else if (!file->timer) - { - HTTRACE(PROT_TRACE, "HTLoadFile.. Returning\n"); - file->timer = HTTimer_new(NULL, ReturnEvent, file, 1, YES, NO); - } - return HT_OK; - } - } - } - else if (status == HT_WOULD_BLOCK || status == HT_PENDING) - { - return HT_OK; - } - else - { - HTRequest_addError(request, ERR_INFO, NO, HTERR_INTERNAL, NULL, 0, "HTLoadFile"); - file->state = FS_ERROR; /* Error or interrupt */ - } - break; - - case FS_NEED_BODY: - status = HTHost_read(HTNet_host(net), net); - if (status == HT_WOULD_BLOCK) - { - return HT_OK; - } - else if (status == HT_LOADED || status == HT_CLOSED) - { - file->state = FS_GOT_DATA; - } - else - { - HTRequest_addError(request, ERR_INFO, NO, HTERR_FORBIDDEN, NULL, 0, "HTLoadFile"); - file->state = FS_ERROR; - } - break; - - case FS_TRY_FTP: - { - char *url = HTAnchor_physical(anchor); - HTAnchor *anchor; - char *newname = NULL; - StrAllocCopy(newname, "ftp:"); - if (!strncmp(url, "file:", 5)) - { - StrAllocCat(newname, url+5); - } - else - { - StrAllocCat(newname, url); - } - anchor = HTAnchor_findAddress(newname); - HTRequest_setAnchor(request, anchor); - HT_FREE(newname); - FileCleanup(request, HT_IGNORE); - return HTLoad(request, YES); - } - break; - - case FS_GOT_DATA: - FileCleanup(request, HT_LOADED); - return HT_OK; - break; - - case FS_NO_DATA: - FileCleanup(request, HT_NO_DATA); - return HT_OK; - break; - - case FS_RETRY: - FileCleanup(request, HT_RETRY); - return HT_OK; - break; - - case FS_ERROR: - FileCleanup(request, HT_ERROR); - return HT_OK; - break; - - default: - break; - } - } /* End of while(1) */ -} - -// ************************************************************************* -// HTNeLReader -// ************************************************************************* - -size_t nel_fread (void *buffer, uint size, FILE *fp) -{ - CIFile *file = (CIFile *)fp; - int toRead = std::min ((int)(file->getFileSize () - file->getPos ()), (int)size); - file->serialBuffer((uint8*)buffer, toRead); - return toRead; -} - -PRIVATE int HTNeLReader_read (HTInputStream * me) -{ - FILE * fp = HTChannel_file(me->ch); - HTNet * net = HTHost_getReadNet(me->host); - int status; - - /* Read the file desriptor */ - while (fp) - { - if ((me->b_read = (int)nel_fread(me->data, FILE_BUFFER_SIZE, fp)) == 0) - { - HTAlertCallback *cbf = HTAlert_find(HT_PROG_DONE); - // HTTRACE(PROT_TRACE, "ANSI read... Finished loading file %p\n" _ fp); - if (cbf) - (*cbf)(net->request, HT_PROG_DONE, HT_MSG_NULL,NULL,NULL,NULL); - return HT_CLOSED; - } - - /* Remember how much we have read from the input socket */ - HTTRACEDATA(me->data, me->b_read, "HTANSIReader_read me->data:"); - me->write = me->data; - me->read = me->data + me->b_read; - - { - HTAlertCallback * cbf = HTAlert_find(HT_PROG_READ); - HTNet_addBytesRead(net, me->b_read); - if (cbf) - { - int tr = HTNet_bytesRead(net); - (*cbf)(net->request, HT_PROG_READ, HT_MSG_NULL, NULL, &tr, NULL); - } - } - - if (!net->readStream) - return HT_ERROR; - - /* Now push the data down the stream */ - if ((status = (*net->readStream->isa->put_block) - (net->readStream, me->data, me->b_read)) != HT_OK) - { - if (status == HT_WOULD_BLOCK) - { - HTTRACE(PROT_TRACE, "ANSI read... Target WOULD BLOCK\n"); - return HT_WOULD_BLOCK; - } - else if (status == HT_PAUSE) - { - HTTRACE(PROT_TRACE, "ANSI read... Target PAUSED\n"); - return HT_PAUSE; - } - else if (status > 0) - { - /* Stream specific return code */ - HTTRACE(PROT_TRACE, "ANSI read... Target returns %d\n" _ status); - me->write = me->data + me->b_read; - return status; - } - else - { - /* We have a real error */ - HTTRACE(PROT_TRACE, "ANSI read... Target ERROR\n"); - return status; - } - } - me->write = me->data + me->b_read; - } - HTTRACE(PROT_TRACE, "ANSI read... File descriptor is NULL...\n"); - return HT_ERROR; -} - -PRIVATE int HTNeLReader_close (HTInputStream * me) -{ - CIFile *file = (CIFile *)HTChannel_file(me->ch); - if (file) - { - file->close(); - } - - int status = HT_OK; - HTNet * net = HTHost_getReadNet(me->host); - - - if (net && net->readStream) - { - if ((status = (*net->readStream->isa->_free)(net->readStream))==HT_WOULD_BLOCK) return HT_WOULD_BLOCK; - net->readStream = NULL; - } - - HTTRACE(STREAM_TRACE, "Socket read. FREEING....\n"); - HT_FREE(me); - - return status; -} - -PUBLIC int HTNeLReader_consumed (HTInputStream * me, size_t bytes) -{ - me->write += bytes; - me->b_read -= (int)bytes; - HTHost_setRemainingRead(me->host, me->b_read); - return HT_OK; -} - -PRIVATE int HTNeLReader_flush (HTInputStream * me) -{ - HTNet * net = HTHost_getReadNet(me->host); - return net && net->readStream ? (*net->readStream->isa->flush)(net->readStream) : HT_OK; -} - -PRIVATE int HTNeLReader_free (HTInputStream * me) -{ - CIFile *file = (CIFile *)HTChannel_file(me->ch); - if (file) - { - delete file; - HTChannel_setFile (me->ch, NULL); - } - - HTNet * net = HTHost_getReadNet(me->host); - if (net && net->readStream) - { - int status = (*net->readStream->isa->_free)(net->readStream); - if (status == HT_OK) net->readStream = NULL; - return status; - } - return HT_OK; -} - -PRIVATE int HTNeLReader_abort (HTInputStream * me, HTList * /* e */) -{ - HTNet * net = HTHost_getReadNet(me->host); - if (net && net->readStream) - { - int status = (*net->readStream->isa->abort)(net->readStream, NULL); - if (status != HT_IGNORE) net->readStream = NULL; - } - return HT_ERROR; -} - -PRIVATE const HTInputStreamClass HTNeLReader = -{ - "SocketReader", - HTNeLReader_flush, - HTNeLReader_free, - HTNeLReader_abort, - HTNeLReader_read, - HTNeLReader_close, - HTNeLReader_consumed -}; - -PUBLIC HTInputStream * HTNeLReader_new (HTHost * host, HTChannel * ch, void * /* param */, int /* mode */) -{ - if (host && ch) - { - HTInputStream * me = HTChannel_input(ch); - if (me == NULL) - { - if ((me=(HTInputStream *) HT_CALLOC(1, sizeof(HTInputStream))) == NULL) HT_OUTOFMEM("HTNeLReader_new"); - me->isa = &HTNeLReader; - me->ch = ch; - me->host = host; - HTTRACE(STREAM_TRACE, "Reader...... Created reader stream %p\n" _ me); - } - return me; - } - return NULL; -} - -//PUBLIC unsigned int WWW_TraceFlag = 0; - -} // extern "C" - - diff --git a/code/nel/src/gui/libwww_types.cpp b/code/nel/src/gui/libwww_types.cpp new file mode 100644 index 000000000..31e05f456 --- /dev/null +++ b/code/nel/src/gui/libwww_types.cpp @@ -0,0 +1,797 @@ +/** + libwww Copyright Notice + [This notice should be placed within redistributed or derivative software + code when appropriate. This particular formulation of W3C's notice for + inclusion in libwww code became active on August 14 1998.] + + LIBWWW COPYRIGHT NOTICE + + libwww: W3C's implementation of HTTP can be found at: + http://www.w3.org/Library/ + + Copyright ¨ 1995-2002 World Wide Web Consortium, + (Massachusetts Institute of Technology, Institut + National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. + This program is distributed under the W3C's + Intellectual Property License. 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 W3C License + http://www.w3.org/Consortium/Legal/ for more details. + + Copyright ¨ 1995 CERN. "This product includes computer + software created and made available by CERN. This + acknowledgment shall be mentioned in full in any + product which includes the CERN computer software + included herein or parts thereof." + + ****************************************************************************/ + +#include "nel/gui/libwww_types.h" + +namespace NLGUI +{ + +/* + ** ATTRIBUTE DEFINITION MACROS (see HTMLPDTD.h) + */ + +/* + * redefine the macros, so that the "stringized" attribute name + * is generated + */ + +#undef HTML_ATTR +#define HTML_ATTR(t,a) { (char *) #a } +#undef HTML_ATTRIBUTES +#define HTML_ATTRIBUTES(t) { 0 } + +/* + ** ATTRIBUTE LISTS + */ + +static HTAttr no_attr[1] = { + { 0 } +}; + +static HTAttr body_attr[HTML_BODY_ATTRIBUTES+1] = { /* to catch images */ + HTML_ATTR(BODY,ALINK), + HTML_ATTR(BODY,BACKGROUND), + HTML_ATTR(BODY,BGCOLOR), + HTML_ATTR(BODY,CLASS), + HTML_ATTR(BODY,DIR), + HTML_ATTR(BODY,ID), + HTML_ATTR(BODY,LANG), + HTML_ATTR(BODY,LINK), + HTML_ATTR(BODY,STYLE), + HTML_ATTR(BODY,TEXT), + HTML_ATTR(BODY,TITLE), + HTML_ATTR(BODY,VLINK), + HTML_ATTRIBUTES(BODY) +}; + +static HTAttr frame_attr[HTML_FRAME_ATTRIBUTES+1] = { /* frame attributes */ + HTML_ATTR(FRAME,CLASS), + HTML_ATTR(FRAME,FRAMEBORDER), + HTML_ATTR(FRAME,ID), + HTML_ATTR(FRAME,NAME), + HTML_ATTR(FRAME,MARGINHEIGHT), + HTML_ATTR(FRAME,MARGINWIDTH), + HTML_ATTR(FRAME,NORESIZE), + HTML_ATTR(FRAME,LONGDESC), + HTML_ATTR(FRAME,SCROLLING), + HTML_ATTR(FRAME,SRC), + HTML_ATTR(FRAME,STYLE), + HTML_ATTR(FRAME,TARGET), + HTML_ATTR(FRAME,TITLE), + HTML_ATTRIBUTES(FRAME) +}; + +static HTAttr frameset_attr[HTML_FRAMESET_ATTRIBUTES+1] = { /* frameset attributes */ + HTML_ATTR(FRAMESET,CLASS), + HTML_ATTR(FRAMESET,COLS), + HTML_ATTR(FRAMESET,ID), + HTML_ATTR(FRAMESET,ROWS), + HTML_ATTR(FRAMESET,STYLE), + HTML_ATTR(FRAMESET,TITLE), + HTML_ATTRIBUTES(FRAMESET) +}; + +static HTAttr a_attr[HTML_A_ATTRIBUTES+1] = { /* Anchor attributes */ + HTML_ATTR(A,ACCESSKEY), + HTML_ATTR(A,CHARSET), + HTML_ATTR(A,CLASS), + HTML_ATTR(A,COORDS), + HTML_ATTR(A,DIR), + HTML_ATTR(A,HREF), + HTML_ATTR(A,HREFLANG), + HTML_ATTR(A,ID), + HTML_ATTR(A,NAME), + HTML_ATTR(A,REL), + HTML_ATTR(A,REV), + HTML_ATTR(A,SHAPE), + HTML_ATTR(A,STYLE), + HTML_ATTR(A,TABINDEX), + HTML_ATTR(A,TARGET), + HTML_ATTR(A,TYPE), + HTML_ATTR(A,TITLE), + HTML_ATTRIBUTES(A) +}; + +static HTAttr applet_attr[HTML_APPLET_ATTRIBUTES+1] = { + HTML_ATTR(APPLET,ALIGN), + HTML_ATTR(APPLET,ALT), + HTML_ATTR(APPLET,ARCHIVE), + HTML_ATTR(APPLET,CLASS), + HTML_ATTR(APPLET,CODE), + HTML_ATTR(APPLET,CODEBASE), + HTML_ATTR(APPLET,HEIGHT), + HTML_ATTR(APPLET,HSPACE), + HTML_ATTR(APPLET,ID), + HTML_ATTR(APPLET,NAME), + HTML_ATTR(APPLET,OBJECT), + HTML_ATTR(APPLET,STYLE), + HTML_ATTR(APPLET,TITLE), + HTML_ATTR(APPLET,VSPACE), + HTML_ATTR(APPLET,WIDTH), + HTML_ATTRIBUTES(APPLET) +}; + +static HTAttr area_attr[HTML_AREA_ATTRIBUTES+1] = { /* Area attributes */ + HTML_ATTR(AREA,ACCESSKEY), + HTML_ATTR(AREA,ALT), + HTML_ATTR(AREA,CLASS), + HTML_ATTR(AREA,COORDS), + HTML_ATTR(AREA,DIR), + HTML_ATTR(AREA,HREF), + HTML_ATTR(AREA,ID), + HTML_ATTR(AREA,NAME), + HTML_ATTR(AREA,NOHREF), + HTML_ATTR(AREA,LANG), + HTML_ATTR(AREA,SHAPE), + HTML_ATTR(AREA,STYLE), + HTML_ATTR(AREA,TABINDEX), + HTML_ATTR(AREA,TARGET), + HTML_ATTR(AREA,TITLE), + HTML_ATTRIBUTES(AREA) +}; + +static HTAttr base_attr[HTML_BASE_ATTRIBUTES+1] = { /* BASE attributes */ + HTML_ATTR(BASE,HREF), + HTML_ATTR(BASE,TARGET), + HTML_ATTRIBUTES(BASE) +}; + +static HTAttr bdo_attr[HTML_BDO_ATTRIBUTES+1] = { + HTML_ATTR(BDO,CLASS), + HTML_ATTR(BDO,DIR), + HTML_ATTR(BDO,ID), + HTML_ATTR(BDO,LANG), + HTML_ATTR(BDO,STYLE), + HTML_ATTR(BDO,TITLE), + HTML_ATTRIBUTES(BDO) +}; + +static HTAttr bq_attr[HTML_BQ_ATTRIBUTES+1] = { + HTML_ATTR(BQ,CITE), + HTML_ATTR(BQ,CLASS), + HTML_ATTR(BQ,DIR), + HTML_ATTR(BQ,ID), + HTML_ATTR(BQ,LANG), + HTML_ATTR(BQ,STYLE), + HTML_ATTR(BQ,TITLE), + HTML_ATTRIBUTES(BQ) +}; + +static HTAttr br_attr[HTML_BR_ATTRIBUTES+1] = { + HTML_ATTR(BR,CLASS), + HTML_ATTR(BR,CLEAR), + HTML_ATTR(BR,ID), + HTML_ATTR(BR,STYLE), + HTML_ATTR(BR,TITLE), + HTML_ATTRIBUTES(BR) +}; + +static HTAttr button_attr[HTML_BUTTON_ATTRIBUTES+1] = { + HTML_ATTR(BUTTON,ACCESSKEY), + HTML_ATTR(BUTTON,CLASS), + HTML_ATTR(BUTTON,DIR), + HTML_ATTR(BUTTON,DISABLED), + HTML_ATTR(BUTTON,ID), + HTML_ATTR(BUTTON,LANG), + HTML_ATTR(BUTTON,NAME), + HTML_ATTR(BUTTON,STYLE), + HTML_ATTR(BUTTON,TABINDEX), + HTML_ATTR(BUTTON,TITLE), + HTML_ATTR(BUTTON,TYPE), + HTML_ATTR(BUTTON,VALUE), + HTML_ATTRIBUTES(BUTTON), +}; + +static HTAttr col_attr[HTML_COL_ATTRIBUTES+1] = { + HTML_ATTR(COL,CLASS), + HTML_ATTR(COL,DIR), + HTML_ATTR(COL,ID), + HTML_ATTR(COL,LANG), + HTML_ATTR(COL,SPAN), + HTML_ATTR(COL,STYLE), + HTML_ATTR(COL,TITLE), + HTML_ATTR(COL,WIDTH), + HTML_ATTRIBUTES(COL) +}; + +static HTAttr changes_attr[HTML_CHANGES_ATTRIBUTES+1] = { + HTML_ATTR(CHANGES,CITE), + HTML_ATTR(CHANGES,CLASS), + HTML_ATTR(CHANGES,DATETIME), + HTML_ATTR(CHANGES,DIR), + HTML_ATTR(CHANGES,ID), + HTML_ATTR(CHANGES,LANG), + HTML_ATTR(CHANGES,STYLE), + HTML_ATTR(CHANGES,TITLE), + HTML_ATTRIBUTES(CHANGES) +}; + +static HTAttr font_attr[HTML_FONT_ATTRIBUTES+1] = { + HTML_ATTR(FONT,CLASS), + HTML_ATTR(FONT,COLOR), + HTML_ATTR(FONT,DIR), + HTML_ATTR(FONT,FACE), + HTML_ATTR(FONT,ID), + HTML_ATTR(FONT,LANG), + HTML_ATTR(FONT,SIZE), + HTML_ATTR(FONT,STYLE), + HTML_ATTR(FONT,TITLE), + HTML_ATTRIBUTES(FONT) +}; + +static HTAttr form_attr[HTML_FORM_ATTRIBUTES+1] = { + HTML_ATTR(FORM,ACCEPT), + { (char *) "ACCEPT-CHARSET" }, /* HTML_ATTR(FORM,ACCEPT_CHARSET) */ + HTML_ATTR(FORM,ACTION), + HTML_ATTR(FORM,CLASS), + HTML_ATTR(FORM,DIR), + HTML_ATTR(FORM,ENCTYPE), + HTML_ATTR(FORM,ID), + HTML_ATTR(FORM,LANG), + HTML_ATTR(FORM,METHOD), + HTML_ATTR(FORM,STYLE), + HTML_ATTR(FORM,TARGET), + HTML_ATTR(FORM,TITLE), + HTML_ATTRIBUTES(FORM) +}; + +static HTAttr gen_attr[HTML_GEN_ATTRIBUTES+1] = { /* General, for many things */ + HTML_ATTR(GEN,CLASS), + HTML_ATTR(GEN,DIR), + HTML_ATTR(GEN,ID), + HTML_ATTR(GEN,LANG), + HTML_ATTR(GEN,STYLE), + HTML_ATTR(GEN,TITLE), + HTML_ATTRIBUTES(GEN) +}; + +static HTAttr block_attr[HTML_BLOCK_ATTRIBUTES+1] = { /* DIV, SPAN, H1-H6 */ + HTML_ATTR(BLOCK,ALIGN), + HTML_ATTR(BLOCK,CLASS), + HTML_ATTR(BLOCK,DIR), + HTML_ATTR(BLOCK,ID), + HTML_ATTR(BLOCK,LANG), + HTML_ATTR(BLOCK,STYLE), + HTML_ATTR(BLOCK,TITLE), + HTML_ATTRIBUTES(BLOCK) +}; + +static HTAttr head_attr[HTML_HEAD_ATTRIBUTES+1] = { + HTML_ATTR(HEAD,DIR), + HTML_ATTR(HEAD,LANG), + HTML_ATTR(HEAD,PROFILE), + HTML_ATTRIBUTES(HEAD) +}; + +static HTAttr hr_attr[HTML_HR_ATTRIBUTES+1] = { + HTML_ATTR(HR,ALIGN), + HTML_ATTR(HR,CLASS), + HTML_ATTR(HR,DIR), + HTML_ATTR(HR,ID), + HTML_ATTR(HR,LANG), + HTML_ATTR(HR,NOSHADE), + HTML_ATTR(HR,SIZE), + HTML_ATTR(HR,STYLE), + HTML_ATTR(HR,TITLE), + HTML_ATTR(HR,WIDTH), + HTML_ATTRIBUTES(HR) +}; + +static HTAttr html_attr[HTML_HTML_ATTRIBUTES+1] = { + HTML_ATTR(HTML,DIR), + HTML_ATTR(HTML,LANG), + HTML_ATTR(HTML,VERSION), + HTML_ATTRIBUTES(HTML) +}; + +static HTAttr iframe_attr[HTML_IFRAME_ATTRIBUTES+1] = { + HTML_ATTR(IFRAME,ALIGN), + HTML_ATTR(IFRAME,CLASS), + HTML_ATTR(IFRAME,FRAMEBORDER), + HTML_ATTR(IFRAME,HEIGHT), + HTML_ATTR(IFRAME,ID), + HTML_ATTR(IFRAME,LONGDESC), + HTML_ATTR(IFRAME,MARGINHEIGHT), + HTML_ATTR(IFRAME,MARGINWIDTH), + HTML_ATTR(IFRAME,NAME), + HTML_ATTR(IFRAME,SCROLLING), + HTML_ATTR(IFRAME,SRC), + HTML_ATTR(IFRAME,STYLE), + HTML_ATTR(IFRAME,TARGET), + HTML_ATTR(IFRAME,TITLE), + HTML_ATTR(IFRAME,WIDTH), + HTML_ATTRIBUTES(IFRAME) +}; + +static HTAttr img_attr[HTML_IMG_ATTRIBUTES+1] = { /* IMG attributes */ + HTML_ATTR(IMG,ALIGN), + HTML_ATTR(IMG,ALT), + HTML_ATTR(IMG,BORDER), + HTML_ATTR(IMG,CLASS), + HTML_ATTR(IMG,DIR), + HTML_ATTR(IMG,HEIGHT), + HTML_ATTR(IMG,HSPACE), + HTML_ATTR(IMG,ID), + HTML_ATTR(IMG,ISMAP), + HTML_ATTR(IMG,LANG), + HTML_ATTR(IMG,LONGDESC), + HTML_ATTR(IMG,SRC), + HTML_ATTR(IMG,STYLE), + HTML_ATTR(IMG,TITLE), + HTML_ATTR(IMG,USEMAP), + HTML_ATTR(IMG,VSPACE), + HTML_ATTR(IMG,WIDTH), + HTML_ATTRIBUTES(IMG) +}; + +static HTAttr input_attr[HTML_INPUT_ATTRIBUTES+1] = { + HTML_ATTR(INPUT,ACCEPT), + HTML_ATTR(INPUT,ACCESSKEY), + HTML_ATTR(INPUT,ALIGN), + HTML_ATTR(INPUT,ALT), + HTML_ATTR(INPUT,CHECKED), + HTML_ATTR(INPUT,CLASS), + HTML_ATTR(INPUT,DIR), + HTML_ATTR(INPUT,DISABLED), + HTML_ATTR(INPUT,ID), + HTML_ATTR(INPUT,LANG), + HTML_ATTR(INPUT,MAXLENGTH), + HTML_ATTR(INPUT,NAME), + HTML_ATTR(INPUT,READONLY), + HTML_ATTR(INPUT,SIZE), + HTML_ATTR(INPUT,SRC), + HTML_ATTR(INPUT,STYLE), + HTML_ATTR(INPUT,TABINDEX), + HTML_ATTR(INPUT,TITLE), + HTML_ATTR(INPUT,TYPE), + HTML_ATTR(INPUT,USEMAP), + HTML_ATTR(INPUT,VALUE), + HTML_ATTRIBUTES(INPUT) +}; + +static HTAttr isindex_attr[HTML_ISINDEX_ATTRIBUTES+1] = { + HTML_ATTR(ISINDEX,CLASS), + HTML_ATTR(ISINDEX,DIR), + HTML_ATTR(ISINDEX,ID), + HTML_ATTR(ISINDEX,LANG), + HTML_ATTR(ISINDEX,PROMPT), + HTML_ATTR(ISINDEX,STYLE), + HTML_ATTR(ISINDEX,TITLE), + HTML_ATTRIBUTES(ISINDEX) +}; + +static HTAttr label_attr[HTML_LABEL_ATTRIBUTES+1] = { + HTML_ATTR(LABEL,ACCESSKEY), + HTML_ATTR(LABEL,CLASS), + HTML_ATTR(LABEL,DIR), + HTML_ATTR(LABEL,FOR), + HTML_ATTR(LABEL,ID), + HTML_ATTR(LABEL,LANG), + HTML_ATTR(LABEL,STYLE), + HTML_ATTR(LABEL,TITLE), + HTML_ATTRIBUTES(LABEL) +}; + +static HTAttr legend_attr[HTML_LEGEND_ATTRIBUTES+1] = { + HTML_ATTR(LEGEND,ACCESSKEY), + HTML_ATTR(LEGEND,ALIGN), + HTML_ATTR(LEGEND,CLASS), + HTML_ATTR(LEGEND,DIR), + HTML_ATTR(LEGEND,ID), + HTML_ATTR(LEGEND,LANG), + HTML_ATTR(LEGEND,STYLE), + HTML_ATTR(LEGEND,TITLE), + HTML_ATTRIBUTES(LEGEND) +}; + +static HTAttr li_attr[HTML_LI_ATTRIBUTES+1] = { + HTML_ATTR(LI,CLASS), + HTML_ATTR(LI,COMPACT), + HTML_ATTR(LI,DIR), + HTML_ATTR(LI,ID), + HTML_ATTR(LI,LANG), + HTML_ATTR(LI,STYLE), + HTML_ATTR(LI,TITLE), + HTML_ATTR(LI,TYPE), + HTML_ATTR(LI,VALUE), + HTML_ATTRIBUTES(LI) +}; + +static HTAttr link_attr[HTML_LINK_ATTRIBUTES+1] = { /* link attributes */ + HTML_ATTR(LINK,CHARSET), + HTML_ATTR(LINK,CLASS), + HTML_ATTR(LINK,DIR), + HTML_ATTR(LINK,HREF), + HTML_ATTR(LINK,HREFLANG), + HTML_ATTR(LINK,ID), + HTML_ATTR(LINK,LANG), + HTML_ATTR(LINK,MEDIA), + HTML_ATTR(LINK,REL), + HTML_ATTR(LINK,REV), + HTML_ATTR(LINK,STYLE), + HTML_ATTR(LINK,TARGET), + HTML_ATTR(LINK,TITLE), + HTML_ATTR(LINK,TYPE), + HTML_ATTRIBUTES(LINK) +}; + +static HTAttr map_attr[HTML_MAP_ATTRIBUTES+1] = { + HTML_ATTR(MAP,CLASS), + HTML_ATTR(MAP,DIR), + HTML_ATTR(MAP,ID), + HTML_ATTR(MAP,LANG), + HTML_ATTR(MAP,NAME), + HTML_ATTR(MAP,STYLE), + HTML_ATTR(MAP,TITLE), + HTML_ATTRIBUTES(MAP) +}; + +static HTAttr meta_attr[HTML_META_ATTRIBUTES+1] = { + HTML_ATTR(META,CONTENT), + HTML_ATTR(META,DIR), + { (char *)"HTTP-EQUIV" }, /* HTML_ATTR(META,HTTP_EQUIV) */ + HTML_ATTR(META,LANG), + HTML_ATTR(META,NAME), + HTML_ATTR(META,SCHEME), + HTML_ATTRIBUTES(META) +}; + +static HTAttr nextid_attr[HTML_NEXTID_ATTRIBUTES+1] = { + { (char *)"N" }, + { 0 } /* Terminate list */ +}; + +static HTAttr object_attr[HTML_OBJECT_ATTRIBUTES+1] = { /* object attributes */ + HTML_ATTR(OBJECT,ALIGN), + HTML_ATTR(OBJECT,ARCHIVE), + HTML_ATTR(OBJECT,BORDER), + HTML_ATTR(OBJECT,CLASS), + HTML_ATTR(OBJECT,CLASSID), + HTML_ATTR(OBJECT,CODEBASE), + HTML_ATTR(OBJECT,CODETYPE), + HTML_ATTR(OBJECT,DATA), + HTML_ATTR(OBJECT,DECLARE), + HTML_ATTR(OBJECT,DIR), + HTML_ATTR(OBJECT,HEIGHT), + HTML_ATTR(OBJECT,HSPACE), + HTML_ATTR(OBJECT,ID), + HTML_ATTR(OBJECT,LANG), + HTML_ATTR(OBJECT,NAME), + HTML_ATTR(OBJECT,STANDBY), + HTML_ATTR(OBJECT,STYLE), + HTML_ATTR(OBJECT,TABINDEX), + HTML_ATTR(OBJECT,TITLE), + HTML_ATTR(OBJECT,TYPE), + HTML_ATTR(OBJECT,USEMAP), + HTML_ATTR(OBJECT,VSPACE), + HTML_ATTR(OBJECT,WIDTH), + HTML_ATTRIBUTES(OBJECT) +}; + +static HTAttr ol_attr[HTML_OL_ATTRIBUTES+1] = { + HTML_ATTR(OL,CLASS), + HTML_ATTR(OL,COMPACT), + HTML_ATTR(OL,DIR), + HTML_ATTR(OL,ID), + HTML_ATTR(OL,LANG), + HTML_ATTR(OL,START), + HTML_ATTR(OL,STYLE), + HTML_ATTR(OL,TITLE), + HTML_ATTR(OL,TYPE), + HTML_ATTRIBUTES(OL) +}; + +static HTAttr optgroup_attr[HTML_OPTGROUP_ATTRIBUTES+1] = { + HTML_ATTR(OPTGROUP,CLASS), + HTML_ATTR(OPTGROUP,DISABLED), + HTML_ATTR(OPTGROUP,DIR), + HTML_ATTR(OPTGROUP,ID), + HTML_ATTR(OPTGROUP,LABEL), + HTML_ATTR(OPTGROUP,LANG), + HTML_ATTR(OPTGROUP,STYLE), + HTML_ATTR(OPTGROUP,TITLE), + HTML_ATTRIBUTES(OPTGROUP) +}; + +static HTAttr option_attr[HTML_OPTION_ATTRIBUTES+1] = { + HTML_ATTR(OPTION,CLASS), + HTML_ATTR(OPTION,DISABLED), + HTML_ATTR(OPTION,DIR), + HTML_ATTR(OPTION,ID), + HTML_ATTR(OPTION,LABEL), + HTML_ATTR(OPTION,LANG), + HTML_ATTR(OPTION,SELECTED), + HTML_ATTR(OPTION,STYLE), + HTML_ATTR(OPTION,TITLE), + HTML_ATTR(OPTION,VALUE), + HTML_ATTRIBUTES(OPTION) +}; + +static HTAttr param_attr[HTML_PARAM_ATTRIBUTES+1] = { + HTML_ATTR(PARAM,ID), + HTML_ATTR(PARAM,NAME), + HTML_ATTR(PARAM,TYPE), + HTML_ATTR(PARAM,VALUE), + HTML_ATTR(PARAM,VALUETYPE), + HTML_ATTRIBUTES(PARAM) +}; + +static HTAttr pre_attr[HTML_PRE_ATTRIBUTES+1] = { + HTML_ATTR(PRE,CLASS), + HTML_ATTR(PRE,DIR), + HTML_ATTR(PRE,ID), + HTML_ATTR(PRE,LANG), + HTML_ATTR(PRE,STYLE), + HTML_ATTR(PRE,TITLE), + HTML_ATTR(PRE,WIDTH), + HTML_ATTRIBUTES(PRE) +}; + +static HTAttr script_attr[HTML_SCRIPT_ATTRIBUTES+1] = { + HTML_ATTR(SCRIPT,CHARSET), + HTML_ATTR(SCRIPT,DEFER), + HTML_ATTR(SCRIPT,LANGUAGE), + HTML_ATTR(SCRIPT,SRC), + HTML_ATTR(SCRIPT,TYPE), + HTML_ATTRIBUTES(SCRIPT) +}; + +static HTAttr select_attr[HTML_SELECT_ATTRIBUTES+1] = { + HTML_ATTR(SELECT,CLASS), + HTML_ATTR(SELECT,DIR), + HTML_ATTR(SELECT,DISABLED), + HTML_ATTR(SELECT,ID), + HTML_ATTR(SELECT,LANG), + HTML_ATTR(SELECT,MULTIPLE), + HTML_ATTR(SELECT,NAME), + HTML_ATTR(SELECT,SIZE), + HTML_ATTR(SELECT,STYLE), + HTML_ATTR(SELECT,TABINDEX), + HTML_ATTR(SELECT,TITLE), + HTML_ATTRIBUTES(SELECT) +}; + +static HTAttr style_attr[HTML_STYLE_ATTRIBUTES+1] = { + HTML_ATTR(STYLE,DIR), + HTML_ATTR(STYLE,LANG), + HTML_ATTR(STYLE,MEDIA), + HTML_ATTR(STYLE,TITLE), + HTML_ATTR(STYLE,TYPE), + HTML_ATTRIBUTES(STYLE) +}; + +static HTAttr table_attr[HTML_TABLE_ATTRIBUTES+1] = { + HTML_ATTR(TABLE,ALIGN), + HTML_ATTR(TABLE,BGCOLOR), + HTML_ATTR(TABLE,BORDER), + HTML_ATTR(TABLE,CELLPADDING), + HTML_ATTR(TABLE,CELLSPACING), + HTML_ATTR(TABLE,CLASS), + HTML_ATTR(TABLE,DIR), + HTML_ATTR(TABLE,FRAME), + HTML_ATTR(TABLE,ID), + HTML_ATTR(TABLE,LANG), + HTML_ATTR(TABLE,RULES), + HTML_ATTR(TABLE,SUMMARY), + HTML_ATTR(TABLE,STYLE), + HTML_ATTR(TABLE,TITLE), + HTML_ATTR(TABLE,WIDTH), + HTML_ATTRIBUTES(TABLE) +}; + +static HTAttr tele_attr[HTML_TELE_ATTRIBUTES+1] = { + HTML_ATTR(TELE,ALIGN), + HTML_ATTR(TELE,CHAR), + HTML_ATTR(TELE,CHAROFF), + HTML_ATTR(TELE,CLASS), + HTML_ATTR(TELE,DIR), + HTML_ATTR(TELE,ID), + HTML_ATTR(TELE,LANG), + HTML_ATTR(TELE,STYLE), + HTML_ATTR(TELE,TITLE), + HTML_ATTR(TELE,VALIGN), + HTML_ATTRIBUTES(TELE) +}; + +static HTAttr td_attr[HTML_TD_ATTRIBUTES+1] = { + HTML_ATTR(TD,ABBR), + HTML_ATTR(TD,ALIGN), + HTML_ATTR(TD,AXIS), + HTML_ATTR(TD,BGCOLOR), + HTML_ATTR(TD,CHAR), + HTML_ATTR(TD,CHAROFF), + HTML_ATTR(TD,CLASS), + HTML_ATTR(TD,COLSPAN), + HTML_ATTR(TD,DIR), + HTML_ATTR(TD,ID), + HTML_ATTR(TD,HEADERS), + HTML_ATTR(TD,HEIGHT), + HTML_ATTR(TD,LANG), + HTML_ATTR(TD,NOWRAP), + HTML_ATTR(TD,ROWSPAN), + HTML_ATTR(TD,SCOPE), + HTML_ATTR(TD,STYLE), + HTML_ATTR(TD,TITLE), + HTML_ATTR(TD,VALIGN), + HTML_ATTR(TD,WIDTH), + HTML_ATTRIBUTES(TD) +}; + +static HTAttr textarea_attr[HTML_TEXTAREA_ATTRIBUTES+1] = { + HTML_ATTR(TEXTAREA,CLASS), + HTML_ATTR(TEXTAREA,COLS), + HTML_ATTR(TEXTAREA,DIR), + HTML_ATTR(TEXTAREA,DISABLED), + HTML_ATTR(TEXTAREA,ID), + HTML_ATTR(TEXTAREA,LANG), + HTML_ATTR(TEXTAREA,NAME), + HTML_ATTR(TEXTAREA,READONLY), + HTML_ATTR(TEXTAREA,ROWS), + HTML_ATTR(TEXTAREA,STYLE), + HTML_ATTR(TEXTAREA,TABINDEX), + HTML_ATTR(TEXTAREA,TITLE), + HTML_ATTRIBUTES(TEXTAREA) +}; + +static HTAttr title_attr[HTML_TITLE_ATTRIBUTES+1] = { + HTML_ATTR(TITLE,DIR), + HTML_ATTR(TITLE,LANG), + HTML_ATTRIBUTES(TITLE) +}; + +static HTAttr ul_attr[HTML_UL_ATTRIBUTES+1] = { + HTML_ATTR(UL,CLASS), + HTML_ATTR(UL,COMPACT), + HTML_ATTR(UL,DIR), + HTML_ATTR(UL,ID), + HTML_ATTR(UL,LANG), + HTML_ATTR(UL,STYLE), + HTML_ATTR(UL,TITLE), + HTML_ATTR(UL,TYPE), + HTML_ATTRIBUTES(UL) +}; + +/* + ** ELEMENTS + ** Must match definitions in HTMLPDTD.html! + ** Must be in alphabetical order. + ** + ** Name, Attributes, content + */ +static HTTag tags[HTML_ELEMENTS] = { + { "A" , a_attr, HTML_A_ATTRIBUTES }, + { "ABBR" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "ACRONYM" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "ADDRESS" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "APPLET" , applet_attr, HTML_APPLET_ATTRIBUTES }, + { "AREA" , area_attr, HTML_AREA_ATTRIBUTES }, + { "B" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "BASE" , base_attr, HTML_BASE_ATTRIBUTES }, + { "BASEFONT", font_attr, HTML_FONT_ATTRIBUTES }, + { "BDO" , bdo_attr, HTML_BDO_ATTRIBUTES }, + { "BIG" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "BLOCKQUOTE", bq_attr, HTML_BQ_ATTRIBUTES }, + { "BODY" , body_attr, HTML_BODY_ATTRIBUTES }, + { "BR" , br_attr, HTML_BR_ATTRIBUTES }, + { "BUTTON" , button_attr, HTML_BUTTON_ATTRIBUTES }, + { "CAPTION" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "CENTER" , no_attr, 0 }, + { "CITE" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "CODE" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "COL" , col_attr, HTML_COL_ATTRIBUTES }, + { "COLGROUP", col_attr, HTML_COL_ATTRIBUTES }, + { "DD" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "DEL" , changes_attr, HTML_CHANGES_ATTRIBUTES }, + { "DFN" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "DIR" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "DIV" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "DL" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "DT" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "EM" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "FIELDSET", gen_attr, HTML_GEN_ATTRIBUTES }, + { "FONT" , font_attr, HTML_FONT_ATTRIBUTES }, + { "FORM" , form_attr, HTML_FORM_ATTRIBUTES }, + { "FRAME" , frame_attr, HTML_FRAME_ATTRIBUTES }, + { "FRAMESET", frameset_attr,HTML_FRAMESET_ATTRIBUTES }, + { "H1" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "H2" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "H3" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "H4" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "H5" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "H6" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "HEAD" , head_attr, HTML_HEAD_ATTRIBUTES }, + { "HR" , hr_attr, HTML_HR_ATTRIBUTES }, + { "HTML" , html_attr, HTML_HTML_ATTRIBUTES }, + { "I" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "IFRAME" , iframe_attr, HTML_IFRAME_ATTRIBUTES }, + { "IMG" , img_attr, HTML_IMG_ATTRIBUTES }, + { "INPUT" , input_attr, HTML_INPUT_ATTRIBUTES }, + { "INS" , changes_attr, HTML_CHANGES_ATTRIBUTES }, + { "ISINDEX" , isindex_attr, HTML_ISINDEX_ATTRIBUTES }, + { "KBD" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "LABEL" , label_attr, HTML_LABEL_ATTRIBUTES }, + { "LEGEND" , legend_attr, HTML_LEGEND_ATTRIBUTES }, + { "LI" , li_attr, HTML_LI_ATTRIBUTES }, + { "LINK" , link_attr, HTML_LINK_ATTRIBUTES }, + { "MAP" , map_attr, HTML_MAP_ATTRIBUTES }, + { "MENU" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "META" , meta_attr, HTML_META_ATTRIBUTES }, + { "NEXTID" , nextid_attr, 1 }, + { "NOFRAMES", gen_attr, HTML_GEN_ATTRIBUTES }, + { "NOSCRIPT", gen_attr, HTML_GEN_ATTRIBUTES }, + { "OBJECT" , object_attr, HTML_OBJECT_ATTRIBUTES }, + { "OL" , ol_attr, HTML_OL_ATTRIBUTES }, + { "OPTGROUP", optgroup_attr,HTML_OPTGROUP_ATTRIBUTES }, + { "OPTION" , option_attr, HTML_OPTION_ATTRIBUTES }, + { "P" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "PARAM" , param_attr, HTML_PARAM_ATTRIBUTES }, + { "PRE" , pre_attr, HTML_PRE_ATTRIBUTES }, + { "Q" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "S" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "SAMP" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "SCRIPT" , script_attr, HTML_SCRIPT_ATTRIBUTES }, + { "SELECT" , select_attr, HTML_SELECT_ATTRIBUTES }, + { "SMALL" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "SPAN" , block_attr, HTML_BLOCK_ATTRIBUTES }, + { "STRIKE" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "STRONG" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "STYLE" , style_attr, HTML_STYLE_ATTRIBUTES }, + { "SUB" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "SUP" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "TABLE" , table_attr, HTML_TABLE_ATTRIBUTES }, + { "TBODY" , tele_attr, HTML_TELE_ATTRIBUTES }, + { "TD" , td_attr, HTML_TD_ATTRIBUTES }, + { "TEXTAREA", textarea_attr,HTML_TEXTAREA_ATTRIBUTES }, + { "TFOOT" , tele_attr, HTML_TELE_ATTRIBUTES }, + { "TH" , td_attr, HTML_TD_ATTRIBUTES }, + { "THEAD" , tele_attr, HTML_TELE_ATTRIBUTES }, + { "TITLE" , title_attr, HTML_TITLE_ATTRIBUTES }, + { "TR" , tele_attr, HTML_TELE_ATTRIBUTES }, + { "TT" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "U" , gen_attr, HTML_GEN_ATTRIBUTES }, + { "UL" , ul_attr, HTML_UL_ATTRIBUTES }, + { "VAR" , gen_attr, HTML_GEN_ATTRIBUTES }, +}; + +static SGML_dtd HTMLP_dtd = { + tags, + HTML_ELEMENTS +}; + +static SGML_dtd * DTD = &HTMLP_dtd; + +SGML_dtd * HTML_dtd (void) +{ + return DTD; +} + +}// namespace + From c6535ee2fde33634b8355fb4a6eb500600b3f0d8 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sat, 18 Apr 2015 23:23:23 +0300 Subject: [PATCH 50/73] Ensure that html is valid utf8 and that tags come in correct(ish) order --HG-- branch : develop --- code/nel/src/gui/group_html_parser.cpp | 139 ++++++++++++++++++++++++- 1 file changed, 138 insertions(+), 1 deletion(-) diff --git a/code/nel/src/gui/group_html_parser.cpp b/code/nel/src/gui/group_html_parser.cpp index 19d1efe1a..e6f63d464 100644 --- a/code/nel/src/gui/group_html_parser.cpp +++ b/code/nel/src/gui/group_html_parser.cpp @@ -117,10 +117,144 @@ namespace NLGUI } } + // *************************************************************************** + // http://stackoverflow.com/a/18335183 + static std::string correct_non_utf_8(const std::string &str) + { + int i,f_size=str.size(); + unsigned char c,c2,c3,c4; + std::string to; + to.reserve(f_size); + + for(i=0 ; i127 && c2<192){//valid 2byte UTF8 + if(c==194 && c2<160){//control char, skipping + ; + }else{ + to.append(1,c); + to.append(1,c2); + } + i++; + continue; + } + }else if(c<240 && i+2127 && c2<192 && c3>127 && c3<192){//valid 3byte UTF8 + to.append(1,c); + to.append(1,c2); + to.append(1,c3); + i+=2; + continue; + } + }else if(c<245 && i+3127 && c2<192 && c3>127 && c3<192 && c4>127 && c4<192){//valid 4byte UTF8 + to.append(1,c); + to.append(1,c2); + to.append(1,c3); + to.append(1,c4); + i+=3; + continue; + } + } + //invalid UTF8, converting ASCII (c>245 || string too short for multi-byte)) + to.append(1,(unsigned char)195); + to.append(1,c-64); + } + return to; + } + + // *************************************************************************** + static void patchHtmlQuirks(std::string &htmlString) + { + size_t npos = std::string::npos; + size_t pos; + + // get rid of BOM (some ingame help files does not show up otherwise) + if (htmlString.substr(0, 3) == "\xEF\xBB\xBF") + { + htmlString.erase(0, 3); + } + + // if any element is before , then parser adds + // and original tags are ignored (their attributes not processed) + // + // only fix situation when there is tag with attributes + // + // tags are considered to be lowercase + + pos = htmlString.find(" + if (htmlString.substr(start, 2) == ""); + if (end != npos && start < end && end < pos) + { + // body tag end position + size_t insert = htmlString.find(">", pos); + if (insert != npos) + { + std::string str = htmlString.substr(start, end - start); + htmlString.insert(insert+1, str); + htmlString.erase(start, str.size()); + } + } + } + + // make sure (if present) is last in document or tags coming after it are ignored + pos = htmlString.find(""); + if (pos != npos && htmlString.find("<", pos+1) > pos) + { + htmlString.erase(pos, 7); + htmlString += ""; + } + + // if there is invalid utf-8 chars, then libxml will break everything after first it finds. + htmlString = correct_non_utf_8(htmlString); + } + // *************************************************************************** bool CGroupHTML::parseHtml(std::string htmlString) { - htmlParserCtxtPtr parser = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, XML_CHAR_ENCODING_NONE); + htmlParserCtxtPtr parser = htmlCreatePushParserCtxt(NULL, NULL, NULL, 0, NULL, XML_CHAR_ENCODING_UTF8); if (!parser) { nlwarning("Creating html parser context failed"); @@ -129,6 +263,9 @@ namespace NLGUI htmlCtxtUseOptions(parser, HTML_PARSE_NOBLANKS | HTML_PARSE_NOERROR | HTML_PARSE_NOWARNING | HTML_PARSE_NONET); + // parser is little strict on tag order, so fix whats needed + patchHtmlQuirks(htmlString); + htmlParseChunk(parser, htmlString.c_str(), htmlString.size(), 0); htmlParseChunk(parser, "", 0, 1); From 8e1ada36b0e4d39dd5c0d3a981bc75c9f3b73f6e Mon Sep 17 00:00:00 2001 From: Nimetu Date: Fri, 17 Apr 2015 17:41:01 +0300 Subject: [PATCH 51/73] Use cURL as http transport --HG-- branch : develop --- code/nel/include/nel/gui/group_html.h | 56 +- code/nel/include/nel/gui/libwww.h | 10 + code/nel/src/gui/group_html.cpp | 609 ++++++++++++++++-- code/nel/src/gui/libwww.cpp | 137 +++- .../client/src/interface_v3/group_html_cs.cpp | 4 +- .../client/src/interface_v3/group_html_cs.h | 2 +- .../src/interface_v3/group_html_forum.cpp | 10 +- .../src/interface_v3/group_html_forum.h | 2 +- .../src/interface_v3/group_html_mail.cpp | 10 +- .../client/src/interface_v3/group_html_mail.h | 2 +- .../src/interface_v3/group_html_webig.cpp | 16 +- .../src/interface_v3/group_html_webig.h | 4 +- 12 files changed, 790 insertions(+), 72 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 76caa2caa..d7c1cd30a 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -25,6 +25,7 @@ #include "nel/gui/group_tree.h" #include "nel/gui/ctrl_button.h" #include "nel/gui/group_table.h" +#include "nel/gui/libwww_types.h" typedef std::map TStyle; @@ -36,7 +37,8 @@ namespace NLGUI class CDBGroupComboBox; class CGroupParagraph; - + extern std::string CurrentCookie; + extern std::string HTTPCurrentDomain; // HTML group /** @@ -164,6 +166,34 @@ namespace NLGUI std::string DefaultBackgroundBitmapView; std::string CurrentLinkTitle; + struct TFormField { + public: + TFormField(const std::string &k, const std::string &v) + :name(k),value(v) + {} + std::string name; + std::string value; + }; + + struct SFormFields { + public: + SFormFields() + { + } + + void clear() + { + Values.clear(); + } + + void add(const std::string &key, const std::string &value) + { + Values.push_back(TFormField(key, value)); + } + + std::vector Values; + }; + // Browser home std::string Home; @@ -237,10 +267,10 @@ namespace NLGUI virtual void addHTTPGetParams (std::string &url, bool trustedDomain); // Add POST params to the libwww list - virtual void addHTTPPostParams (HTAssocList *formfields, bool trustedDomain); + virtual void addHTTPPostParams (SFormFields &formfields, bool trustedDomain); // the current request is terminated - virtual void requestTerminated(HTRequest *request); + virtual void requestTerminated(); // libxml2 html parser functions void htmlElement(xmlNode *node, int element_number); @@ -333,6 +363,7 @@ namespace NLGUI bool _Connecting; double _TimeoutValue; // the timeout in seconds double _ConnectingTimeout; + uint32 _RedirectsRemaining; // minimal embeded lua script support // Note : any embeded script is executed immediately after the closing @@ -346,6 +377,9 @@ namespace NLGUI bool _Object; std::string _ObjectScript; + // Data container for active curl transfer + class CCurlWWWData * _CurlWWW; + // Current paragraph std::string _DivName; CGroupParagraph* _Paragraph; @@ -660,9 +694,15 @@ namespace NLGUI // load and render local html file (from bnp for example) void doBrowseLocalFile(const std::string &filename); + // load remote content using either GET or POST + void doBrowseRemoteUrl(const std::string &url, const std::string &referer, bool doPost = false, const SFormFields &formfields = SFormFields()); + // render html string as new browser page bool renderHtmlString(const std::string &html); + // initialize formfields list from form elements on page + void buildHTTPPostParams (SFormFields &formfields); + private: // decode all HTML entities static ucstring decodeHTMLEntities(const ucstring &str); @@ -672,11 +712,13 @@ namespace NLGUI struct CDataDownload { + public: CDataDownload(CURL *c, const std::string &u, FILE *f, TDataType t, CViewBase *i, const std::string &s, const std::string &m) : curl(c), url(u), luaScript(s), md5sum(m), type(t), fp(f) { if (t == ImgType) imgs.push_back(i); } + public: CURL *curl; std::string url; std::string luaScript; @@ -708,6 +750,13 @@ namespace NLGUI void releaseDownloads(); void checkDownloads(); + // HtmlType download finished + void htmlDownloadFinished(const std::string &content, const std::string &type, long code); + + // cURL transfer callbacks + static size_t curlHeaderCallback(char *buffer, size_t size, size_t nmemb, void *pCCurlWWWData); + static size_t curlDataCallback(char *buffer, size_t size, size_t nmemb, void *pCCurlWWWData); + static size_t curlProgressCallback(void *pCCurlWWWData, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow); }; // adapter group that store y offset for inputs inside an html form @@ -721,7 +770,6 @@ namespace NLGUI xmlNodePtr serialize( xmlNodePtr parentNode, const char *type ) const; virtual bool parse (xmlNodePtr cur, CInterfaceGroup *parentGroup); }; - } #endif diff --git a/code/nel/include/nel/gui/libwww.h b/code/nel/include/nel/gui/libwww.h index d3e4eeec9..be3d02242 100644 --- a/code/nel/include/nel/gui/libwww.h +++ b/code/nel/include/nel/gui/libwww.h @@ -20,7 +20,10 @@ #ifndef CL_LIB_WWW_H #define CL_LIB_WWW_H +#include + #include "nel/misc/rgba.h" +#include "nel/gui/libwww_types.h" namespace NLGUI { @@ -30,6 +33,9 @@ namespace NLGUI // *************************************************************************** + // Legacy function from libwww + SGML_dtd * HTML_dtd (void); + // Init the libwww void initLibWWW(); @@ -230,6 +236,10 @@ namespace NLGUI // *************************************************************************** + const std::string &setCurrentDomain(const std::string &uri); + void receiveCookies (CURL *curl, const std::string &domain, bool trusted); + void sendCookies(CURL *curl, const std::string &domain, bool trusted); + } #endif diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index d99d706b1..5d3ae2570 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -43,13 +43,16 @@ #include "nel/misc/md5.h" #include "nel/3d/texture_file.h" #include "nel/misc/big_file.h" +#include using namespace std; using namespace NLMISC; // Default timeout to connect a server -#define DEFAULT_RYZOM_CONNECTION_TIMEOUT (10.0) +#define DEFAULT_RYZOM_CONNECTION_TIMEOUT (30.0) +// Allow up to 10 redirects, then give up +#define DEFAULT_RYZOM_REDIRECT_LIMIT (10) namespace NLGUI { @@ -60,6 +63,59 @@ namespace NLGUI CGroupHTML::SWebOptions CGroupHTML::options; + // Active cURL www transfer + class CCurlWWWData + { + public: + CCurlWWWData(CURL *curl, const std::string &url) + : Request(curl), Url(url), Content(""), HeadersSent(NULL) + { + } + ~CCurlWWWData() + { + if (Request) + curl_easy_cleanup(Request); + + if (HeadersSent) + curl_slist_free_all(HeadersSent); + } + + void setRecvHeader(const std::string &header) + { + size_t pos = header.find(": "); + if (pos == std::string::npos) + return; + + std::string key = toLower(header.substr(0, pos)); + if (pos != std::string::npos) + { + HeadersRecv[key] = header.substr(pos + 2); + //nlinfo(">> received header '%s' = '%s'", key.c_str(), HeadersRecv[key].c_str()); + } + } + + // return last received "Location: " header or empty string if no header set + const std::string getLocationHeader() + { + if (HeadersRecv.count("location") > 0) + return HeadersRecv["location"]; + + return ""; + } + + public: + CURL *Request; + + std::string Url; + std::string Content; + + // headers sent with curl request, must be released after transfer + curl_slist * HeadersSent; + + // headers received from curl transfer + std::map HeadersRecv; + }; + // Check if domain is on TrustedDomain bool CGroupHTML::isTrustedDomain(const string &domain) { @@ -285,7 +341,7 @@ namespace NLGUI { //nlassert(_CrtCheckMemory()); - if(RunningCurls == 0) + if(Curls.empty() && _CurlWWW == NULL) return; int NewRunningCurls = 0; @@ -306,8 +362,82 @@ namespace NLGUI int msgs_left; while ((msg = curl_multi_info_read(MultiCurl, &msgs_left))) { + #ifdef LOG_DL + nlwarning("> (%s) msgs_left %d", _Id.c_str(), msgs_left); + #endif if (msg->msg == CURLMSG_DONE) { + if (_CurlWWW && _CurlWWW->Request && _CurlWWW->Request == msg->easy_handle) + { + CURLcode res = msg->data.result; + long code; + curl_easy_getinfo(_CurlWWW->Request, CURLINFO_RESPONSE_CODE, &code); + #ifdef LOG_DL + nlwarning("(%s) web transfer '%p' completed with status %d, http %d, url (len %d) '%s'", _Id.c_str(), _CurlWWW->Request, res, code, _CurlWWW->Url.size(), _CurlWWW->Url.c_str()); + #endif + + if (res != CURLE_OK) + { + browseError(string("Connection failed with curl error " + string(curl_easy_strerror(res))).c_str()); + } + else + if ((code >= 301 && code <= 303) || code == 307 || code == 308) + { + if (_RedirectsRemaining < 0) + { + browseError(string("Redirect limit reached : " + _URL).c_str()); + } + else + { + // redirect, get the location and try browse again + // we cant use curl redirection because 'addHTTPGetParams()' must be called on new destination + std::string location(_CurlWWW->getLocationHeader()); + if (location.size() > 0) + { + #ifdef LOG_DL + nlwarning("(%s) request (%d) redirected to (len %d) '%s'", _Id.c_str(), _RedirectsRemaining, location.size(), location.c_str()); + #endif + location = getAbsoluteUrl(location); + // throw away this handle and start with new one (easier than reusing) + requestTerminated(); + + _PostNextTime = false; + _RedirectsRemaining--; + + doBrowse(location.c_str()); + } + else + { + browseError(string("Request was redirected, but location was not set : "+_URL).c_str()); + } + } + } + else + { + _RedirectsRemaining = DEFAULT_RYZOM_REDIRECT_LIMIT; + + if ( (code < 200 || code >= 300) ) + { + browseError(string("Connection failed (curl code " + toString((sint32)res) + "), http code " + toString(code) + ") : " + _CurlWWW->Url).c_str()); + } + else + { + receiveCookies(_CurlWWW->Request, HTTPCurrentDomain, _TrustedDomain); + + char *ch; + std::string contentType; + res = curl_easy_getinfo(_CurlWWW->Request, CURLINFO_CONTENT_TYPE, &ch); + if (res == CURLE_OK) + { + contentType = ch; + } + + htmlDownloadFinished(_CurlWWW->Content, contentType, code); + } + requestTerminated(); + } + } + for (vector::iterator it=Curls.begin(); iteasy_handle == it->curl) @@ -318,8 +448,9 @@ namespace NLGUI fclose(it->fp); #ifdef LOG_DL - nlwarning("transfer %x completed with status res %d r %d - %d curls", msg->easy_handle, res, r, Curls.size()); + nlwarning("(%s) transfer '%p' completed with status %d, http %d, url (len %d) '%s'", _Id.c_str(), it->curl, res, r, it->url.size(), it->url.c_str()); #endif + curl_multi_remove_handle(MultiCurl, it->curl); curl_easy_cleanup(it->curl); string file; @@ -342,11 +473,6 @@ namespace NLGUI { for(uint i = 0; i < it->imgs.size(); i++) { - // don't display image that are not power of 2 - //uint32 w, h; - //CBitmap::loadSize (file, w, h); - //if (w == 0 || h == 0 || ((!NLMISC::isPowerOf2(w) || !NLMISC::isPowerOf2(h)) && !NL3D::CTextureFile::supportNonPowerOfTwoTextures())) - // file.clear(); setImage(it->imgs[i], file); } } @@ -360,6 +486,7 @@ namespace NLGUI } } } + Curls.erase(it); break; } @@ -368,6 +495,10 @@ namespace NLGUI } } RunningCurls = NewRunningCurls; + #ifdef LOG_DL + if (RunningCurls > 0 || Curls.size() > 0) + nlwarning("(%s) RunningCurls %d, _Curls %d", _Id.c_str(), RunningCurls, Curls.size()); + #endif } @@ -436,11 +567,12 @@ namespace NLGUI { if (_Browsing) { - nlassert (_Connecting); _Connecting = false; removeContent (); } + else + nlwarning("_Browsing = FALSE"); } @@ -1043,12 +1175,10 @@ namespace NLGUI if (present[HTML_FORM_ACTION] && value[HTML_FORM_ACTION]) { form.Action = getAbsoluteUrl(string(value[HTML_FORM_ACTION])); - nlinfo("(%s) form.action '%s' (converted)", _Id.c_str(), form.Action.c_str()); } else { form.Action = _URL; - nlinfo("(%s) using _URL for form.action '%s'", _Id.c_str(), form.Action.c_str()); } _Forms.push_back(form); } @@ -1243,7 +1373,16 @@ namespace NLGUI // Translate the tooltip if (tooltip) - ctrlButton->setDefaultContextHelp (CI18N::get (tooltip)); + { + if (CI18N::hasTranslation(tooltip)) + { + ctrlButton->setDefaultContextHelp(CI18N::get(tooltip)); + } + else + { + ctrlButton->setDefaultContextHelp(ucstring(tooltip)); + } + } ctrlButton->setText(ucstring::makeFromUtf8(text)); } @@ -1336,24 +1475,11 @@ namespace NLGUI if (!(_Forms.empty())) { // A select box - - // read general property - string templateName; - string minWidth; - - // Widget template name - if (present[MY_HTML_INPUT_Z_INPUT_TMPL] && value[MY_HTML_INPUT_Z_INPUT_TMPL]) - templateName = value[MY_HTML_INPUT_Z_INPUT_TMPL]; - // Widget minimal width - if (present[MY_HTML_INPUT_Z_INPUT_WIDTH] && value[MY_HTML_INPUT_Z_INPUT_WIDTH]) - minWidth = value[MY_HTML_INPUT_Z_INPUT_WIDTH]; - string name; if (present[HTML_SELECT_NAME] && value[HTML_SELECT_NAME]) name = value[HTML_SELECT_NAME]; - string formTemplate = templateName.empty() ? DefaultFormSelectGroup : templateName; - CDBGroupComboBox *cb = addComboBox(formTemplate, name.c_str()); + CDBGroupComboBox *cb = addComboBox(DefaultFormSelectGroup, name.c_str()); CGroupHTML::CForm::CEntry entry; entry.Name = name; entry.ComboBox = cb; @@ -1824,7 +1950,8 @@ namespace NLGUI // *************************************************************************** CGroupHTML::CGroupHTML(const TCtorParam ¶m) : CGroupScrollText(param), - _TimeoutValue(DEFAULT_RYZOM_CONNECTION_TIMEOUT) + _TimeoutValue(DEFAULT_RYZOM_CONNECTION_TIMEOUT), + _RedirectsRemaining(DEFAULT_RYZOM_REDIRECT_LIMIT) { // add it to map of group html created _GroupHtmlUID= ++_GroupHtmlUIDPool; // valid assigned Id begin to 1! @@ -1894,9 +2021,11 @@ namespace NLGUI MultiCurl = curl_multi_init(); RunningCurls = 0; + _CurlWWW = NULL; initImageDownload(); initBnpDownload(); + initLibWWW(); } // *************************************************************************** @@ -1921,6 +2050,8 @@ namespace NLGUI // this is why the call to 'updateRefreshButton' has been removed from stopBrowse clearContext(); + if (_CurlWWW) + delete _CurlWWW; } std::string CGroupHTML::getProperty( const std::string &name ) const @@ -2849,20 +2980,20 @@ namespace NLGUI clearContext(); _Browsing = false; - _Connecting = false; updateRefreshButton(); #ifdef LOG_DL - nlwarning("*** ALREADY BROWSING, break first"); + nlwarning("(%s) *** ALREADY BROWSING, break first", _Id.c_str()); #endif } #ifdef LOG_DL - nlwarning("Browsing URL : '%s'", url); + nlwarning("(%s) Browsing URL : '%s'", _Id.c_str(), url); #endif // go _URL = url; + _Connecting = false; _BrowseNextTime = true; // if a BrowseTree is bound to us, try to select the node that opens this URL (auto-locate) @@ -2910,13 +3041,15 @@ namespace NLGUI void CGroupHTML::stopBrowse () { #ifdef LOG_DL - nlwarning("*** STOP BROWSE"); + nlwarning("*** STOP BROWSE (%s)", _Id.c_str()); #endif // Clear all the context clearContext(); _Browsing = false; + + requestTerminated(); } // *************************************************************************** @@ -3539,7 +3672,6 @@ namespace NLGUI p->setTopSpace(beginSpace); else group->setY(-(sint32)beginSpace); - parentGroup->addGroup (group); } @@ -3703,17 +3835,64 @@ namespace NLGUI const CWidgetManager::SInterfaceTimes × = CWidgetManager::getInstance()->getInterfaceTimes(); + // handle curl downloads + checkDownloads(); + if (_Connecting) { // Check timeout if needed if (_TimeoutValue != 0 && _ConnectingTimeout <= ( times.thisFrameMs / 1000.0f ) ) { browseError(("Connection timeout : "+_URL).c_str()); + + _Connecting = false; } } else if (_BrowseNextTime || _PostNextTime) { + // Set timeout + _Connecting = true; + _ConnectingTimeout = ( times.thisFrameMs / 1000.0f ) + _TimeoutValue; + + // freeze form buttons + CButtonFreezer freezer; + this->visit(&freezer); + + // Home ? + if (_URL == "home") + _URL = home(); + + string finalUrl; + bool isLocal = lookupLocalFile (finalUrl, _URL.c_str(), true); + + // Save new url + _URL = finalUrl; + + // file is probably from bnp (ingame help) + if (isLocal) + { + doBrowseLocalFile(finalUrl); + } + else + { + _TrustedDomain = isTrustedDomain(setCurrentDomain(finalUrl)); + + SFormFields formfields; + if (_PostNextTime) + { + buildHTTPPostParams(formfields); + // _URL is set from form.Action + finalUrl = _URL; + } + else + { + // Add custom get params from child classes + addHTTPGetParams (finalUrl, _TrustedDomain); + } + + doBrowseRemoteUrl(finalUrl, "", _PostNextTime, formfields); + } _BrowseNextTime = false; _PostNextTime = false; @@ -3721,8 +3900,118 @@ namespace NLGUI } // *************************************************************************** - void CGroupHTML::doBrowseLocalFile(const std::string &filename) + void CGroupHTML::buildHTTPPostParams (SFormFields &formfields) { + // Add text area text + uint i; + + if (_PostFormId >= _Forms.size()) + { + nlwarning("(%s) invalid form index %d, _Forms %d", _Id.c_str(), _PostFormId, _Forms.size()); + return; + } + // Ref the form + CForm &form = _Forms[_PostFormId]; + + // Save new url + _URL = form.Action; + _TrustedDomain = isTrustedDomain(setCurrentDomain(_URL)); + + for (i=0; igetGroup ("eb"); + if (group) + { + // Should be a CGroupEditBox + CGroupEditBox *editBox = dynamic_cast(group); + if (editBox) + { + entryData = editBox->getViewText()->getText(); + addEntry = true; + } + } + } + else if (form.Entries[i].Checkbox) + { + // todo handle unicode POST here + if (form.Entries[i].Checkbox->getPushed ()) + { + entryData = ucstring ("on"); + addEntry = true; + } + } + else if (form.Entries[i].ComboBox) + { + CDBGroupComboBox *cb = form.Entries[i].ComboBox; + entryData.fromUtf8(form.Entries[i].SelectValues[cb->getSelection()]); + addEntry = true; + } + // This is a hidden value + else + { + entryData = form.Entries[i].Value; + addEntry = true; + } + + // Add this entry + if (addEntry) + { + formfields.add(form.Entries[i].Name, CI18N::encodeUTF8(entryData)); + } + } + + if (_PostFormSubmitType == "image") + { + // Add the button coordinates + if (_PostFormSubmitButton.find_first_of("[") == string::npos) + { + formfields.add(_PostFormSubmitButton + "_x", NLMISC::toString(_PostFormSubmitX)); + formfields.add(_PostFormSubmitButton + "_y", NLMISC::toString(_PostFormSubmitY)); + } + else + { + formfields.add(_PostFormSubmitButton, NLMISC::toString(_PostFormSubmitX)); + formfields.add(_PostFormSubmitButton, NLMISC::toString(_PostFormSubmitY)); + } + } + else + formfields.add(_PostFormSubmitButton, _PostFormSubmitValue); + + // Add custom params from child classes + addHTTPPostParams(formfields, _TrustedDomain); + } + + // *************************************************************************** + void CGroupHTML::doBrowseLocalFile(const std::string &uri) + { + std::string filename; + if (strlwr(uri).find("file:/") == 0) + { + filename = uri.substr(6, uri.size() - 6); + } + else + { + filename = uri; + } + + #if LOG_DL + nlwarning("(%s) browse local file '%s'", filename.c_str()); + #endif + + _TrustedDomain = true; + + // Stop previous browse, remove content + stopBrowse (); + + _Browsing = true; + updateRefreshButton(); + CIFile in; if (in.open(filename)) { @@ -3746,12 +4035,182 @@ namespace NLGUI } } + // *************************************************************************** + void CGroupHTML::doBrowseRemoteUrl(const std::string &url, const std::string &referer, bool doPost, const SFormFields &formfields) + { + // Stop previous request and remove content + stopBrowse (); + + _Browsing = true; + updateRefreshButton(); + + // Reset the title + if(_TitlePrefix.empty()) + setTitle (CI18N::get("uiPleaseWait")); + else + setTitle (_TitlePrefix + " - " + CI18N::get("uiPleaseWait")); + + #if LOG_DL + nlwarning("(%s) browse url (trusted=%s) '%s', referer='%s', post='%s', nb form values %d", + _Id.c_str(), (_TrustedDomain ? "true" :"false"), url.c_str(), referer.c_str(), (doPost ? "true" : "false"), formfields.Values.size()); + #endif + + if (!MultiCurl) + { + browseError(string("Invalid MultCurl handle, loading url failed : "+url).c_str()); + return; + } + + CURL *curl = curl_easy_init(); + if (!curl) + { + nlwarning("(%s) failed to create curl handle", _Id.c_str()); + browseError(string("Failed to create cURL handle : " + url).c_str()); + return; + } + + // do not follow redirects, we have own handler + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 0); + // after redirect + curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, 1); + + // tell curl to use compression if possible (gzip, deflate) + // leaving this empty allows all encodings that curl supports + //curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, ""); + + // limit curl to HTTP and HTTPS protocols only + curl_easy_setopt(curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); + curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); + + // Destination + curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); + + // User-Agent: + std::string userAgent = options.appName + "/" + options.appVersion; + curl_easy_setopt(curl, CURLOPT_USERAGENT, userAgent.c_str()); + + // Cookies + sendCookies(curl, HTTPCurrentDomain, _TrustedDomain); + + // Referer + if (!referer.empty()) + { + curl_easy_setopt(curl, CURLOPT_REFERER, referer.c_str()); + #ifdef LOG_DL + nlwarning("(%s) set referer '%s'", _Id.c_str(), referer.c_str()); + #endif + } + + if (doPost) + { + // serialize form data and add it to curl + std::string data; + for(uint i=0; i0) + data += "&"; + + data += std::string(escapedName) + "=" + escapedValue; + + curl_free(escapedName); + curl_free(escapedValue); + } + curl_easy_setopt(curl, CURLOPT_POST, 1); + curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, data.size()); + curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, data.c_str()); + } + else + { + curl_easy_setopt(curl, CURLOPT_HTTPGET, 1); + } + + // transfer handle + _CurlWWW = new CCurlWWWData(curl, url); + + // set the language code used by the client + std::vector headers; + headers.push_back("Accept-Language: "+options.languageCode); + headers.push_back("Accept-Charset: utf-8"); + for(uint i=0; i< headers.size(); ++i) + { + _CurlWWW->HeadersSent = curl_slist_append(_CurlWWW->HeadersSent, headers[i].c_str()); + } + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, _CurlWWW->HeadersSent); + + // catch headers for redirect + curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, curlHeaderCallback); + curl_easy_setopt(curl, CURLOPT_WRITEHEADER, _CurlWWW); + + // catch body + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curlDataCallback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, _CurlWWW); + + #if LOG_DL + // progress callback + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0); + curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, curlProgressCallback); + curl_easy_setopt(curl, CURLOPT_XFERINFODATA, _CurlWWW); + #else + // progress off + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1); + #endif + + // + curl_multi_add_handle(MultiCurl, curl); + + // start the transfer + int NewRunningCurls = 0; + curl_multi_perform(MultiCurl, &NewRunningCurls); + RunningCurls++; + } + + // *************************************************************************** + void CGroupHTML::htmlDownloadFinished(const std::string &content, const std::string &type, long code) + { + #ifdef LOG_DL + nlwarning("(%s) HTML download finished, content length %d, type '%s', code %d", _Id.c_str(), content.size(), type.c_str(), code); + #endif + + // set trusted domain for parsing + _TrustedDomain = isTrustedDomain(setCurrentDomain(_URL)); + + // create markup for image downloads + if (type.find("image/") == 0 && content.size() > 0) + { + try + { + std::string dest = localImageName(_URL); + COFile out; + out.open(dest); + out.serialBuffer((uint8 *)(content.c_str()), content.size()); + out.close(); + #ifdef LOG_DL + nlwarning("(%s) image saved to '%s', url '%s'", _Id.c_str(), dest.c_str(), _URL.c_str()); + #endif + } + catch(...) { } + + // create html code with image url inside and do the request again + renderHtmlString(""+_URL+""); + } + else + { + renderHtmlString(content); + } + } + // *************************************************************************** bool CGroupHTML::renderHtmlString(const std::string &html) { bool success; + // + _Browsing = true; + // clear content beginBuild(); @@ -3760,14 +4219,16 @@ namespace NLGUI // invalidate coords endBuild(); - // libwww would call requestTerminated() here + // set the browser as complete _Browsing = false; + updateRefreshButton(); + // check that the title is set, or reset it (in the case the page + // does not provide a title) if (_TitleString.empty()) { setTitle(_TitlePrefix); } - updateRefreshButton(); return success; } @@ -3776,7 +4237,6 @@ namespace NLGUI void CGroupHTML::draw () { - checkDownloads(); CGroupScrollText::draw (); } @@ -3795,14 +4255,26 @@ namespace NLGUI // *************************************************************************** - void CGroupHTML::addHTTPPostParams (HTAssocList * /* formfields */, bool /*trustedDomain*/) + void CGroupHTML::addHTTPPostParams (SFormFields &/* formfields */, bool /*trustedDomain*/) { } // *************************************************************************** - - void CGroupHTML::requestTerminated(HTRequest * request ) + void CGroupHTML::requestTerminated() { + if (_CurlWWW) + { + #if LOG_DL + nlwarning("(%s) stop curl, url '%s'", _Id.c_str(), _CurlWWW->Url.c_str()); + #endif + if (MultiCurl) + curl_multi_remove_handle(MultiCurl, _CurlWWW->Request); + + delete _CurlWWW; + + _CurlWWW = NULL; + _Connecting = false; + } } // *************************************************************************** @@ -3830,7 +4302,9 @@ namespace NLGUI _GroupListAdaptor->clearViews(); CWidgetManager::getInstance()->clearViewUnders(); CWidgetManager::getInstance()->clearCtrlsUnders(); - _Paragraph = NULL; + + // Clear all the context + clearContext(); // Reset default background color setBackgroundColor (BgColor); @@ -4305,10 +4779,20 @@ namespace NLGUI // *************************************************************************** std::string CGroupHTML::getAbsoluteUrl(const std::string &url) { - if (HTURL_isAbsolute(url.c_str())) + if (_URL.size() == 0 || url.find("http://") != std::string::npos || url.find("https://") != std::string::npos) return url; - return std::string(HTParse(url.c_str(), _URL.c_str(), PARSE_ALL)); + xmlChar * uri; + uri = xmlBuildURI(reinterpret_cast(url.c_str()), reinterpret_cast(_URL.c_str())); + if (uri) + { + std::string ret(reinterpret_cast(uri)); + xmlFree(uri); + + return ret; + } + + return url; } // *************************************************************************** @@ -4389,5 +4873,46 @@ namespace NLGUI style.StrikeThrough = getFontStrikeThrough() || style.StrikeThrough; } } + + // *************************************************************************** + size_t CGroupHTML::curlHeaderCallback(char *buffer, size_t size, size_t nmemb, void *pCCurlWWWData) + { + CCurlWWWData * me = static_cast(pCCurlWWWData); + if (me) + { + std::string header; + header.append(buffer, size * nmemb); + me->setRecvHeader(header.substr(0, header.find_first_of("\n\r"))); + } + + return size * nmemb; + } + + // *************************************************************************** + size_t CGroupHTML::curlDataCallback(char *buffer, size_t size, size_t nmemb, void *pCCurlWWWData) + { + CCurlWWWData * me = static_cast(pCCurlWWWData); + if (me) + me->Content.append(buffer, size * nmemb); + + return size * nmemb; + } + + // *************************************************************************** + size_t CGroupHTML::curlProgressCallback(void *pCCurlWWWData, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) + { + CCurlWWWData * me = static_cast(pCCurlWWWData); + if (me) + { + if (dltotal > 0 || dlnow > 0 || ultotal > 0 || ulnow > 0) + { + nlwarning("> dltotal %d, dlnow %d, ultotal %d, ulnow %d, url '%s'", dltotal, dlnow, ultotal, ulnow, me->Url.c_str()); + } + } + + // return 1 to cancel download + return 0; + } + } diff --git a/code/nel/src/gui/libwww.cpp b/code/nel/src/gui/libwww.cpp index e5a587f4d..ff73bb59a 100644 --- a/code/nel/src/gui/libwww.cpp +++ b/code/nel/src/gui/libwww.cpp @@ -16,6 +16,7 @@ #include "stdpch.h" +#include "nel/gui/libwww.h" #include "nel/gui/group_html.h" using namespace NLMISC; @@ -23,11 +24,13 @@ using namespace NLMISC; namespace NLGUI { + // *************************************************************************** + /// the cookie value for session identification (nel cookie) std::string CurrentCookie; /// store all cookies we receive and resent them depending of the domain - std::map > HTTPCookies; + static std::map > HTTPCookies; std::string HTTPCurrentDomain; // The current domain that will be used to get which cookies to send // *************************************************************************** @@ -281,6 +284,138 @@ namespace NLGUI return dst; } + // set current HTTPCurrentDomain for cookie selection, return new domain + const std::string &setCurrentDomain(const std::string &uri) + { + if (uri.find("http://") == 0) + HTTPCurrentDomain = uri.substr(7, uri.find("/", 7) - 7); + else + if (uri.find("https://") == 0) + HTTPCurrentDomain = uri.substr(8, uri.find("/", 8) - 8); + else + if (uri.find("//") == 0) + HTTPCurrentDomain = uri.substr(2, uri.find("/", 2) - 2); + else + if (uri.find("/") != std::string::npos) + HTTPCurrentDomain = uri.substr(0, uri.find("/") - 1); + + return HTTPCurrentDomain; + } + + // update HTTPCookies list + static void receiveCookie(const char *nsformat, const std::string &domain, bool trusted) + { + // 0 1 2 3 4 5 6 + // domain tailmatch path secure expires name value + // .app.ryzom.com TRUE / FALSE 1234 ryzomId AAAAAAAA|BBBBBBBB|CCCCCCCC + // #HttpOnly_app.ryzom.com FALSE / FALSE 0 PHPSESSID sess-id-value + std::string cookie(nsformat); + + std::vector chunks; + splitString(cookie, "\t", chunks); + if (chunks.size() < 6) + { + nlwarning("invalid cookie format '%s'", cookie.c_str()); + } + + if (chunks[0].find("#HttpOnly_") == 0) + { + chunks[0] = chunks[0].substr(10); + } + + if (chunks[0] != domain && chunks[0] != std::string("." + domain)) + { + // cookie is for different domain + //nlinfo("cookie for different domain ('%s')", nsformat); + return; + } + + if (chunks[5] == "ryzomId") + { + // we receive this cookie because we are telling curl about this on send + // normally, this cookie should be set from client and not from headers + // it's used for R2 sessions + if (trusted && CurrentCookie != chunks[6]) + { + CurrentCookie = chunks[6]; + nlwarning("received ryzomId cookie '%s' from trusted domain '%s'", CurrentCookie.c_str(), domain.c_str()); + } + } + else + { + uint32 expires = 0; + fromString(chunks[4], expires); + // expires == 0 is session cookie + if (expires > 0) + { + time_t now; + time(&now); + if (expires < now) + { + nlwarning("cookie expired, remove from list '%s'", nsformat); + HTTPCookies[domain].erase(chunks[5]); + + return; + } + } + + // this overrides cookies with same name, but different paths + //nlwarning("save domain '%s' cookie '%s' value '%s'", domain.c_str(), chunks[5].c_str(), nsformat); + HTTPCookies[domain][chunks[5]] = nsformat; + } + } + + // update HTTPCookies with cookies received from curl + void receiveCookies (CURL *curl, const std::string &domain, bool trusted) + { + struct curl_slist *cookies = NULL; + if (curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies) == CURLE_OK) + { + struct curl_slist *nc; + nc = cookies; + while(nc) + { + //nlwarning("received cookie '%s'", nc->data); + receiveCookie(nc->data, domain, trusted); + nc = nc->next; + } + + curl_slist_free_all(cookies); + } + } + + // add all cookies for domain to curl handle + void sendCookies(CURL *curl, const std::string &domain, bool trusted) + { + if (domain.empty()) + return; + + if (trusted && !CurrentCookie.empty()) + { + // domain tailmatch path secure expires name value + // .app.ryzom.com TRUE / FALSE 1234 ryzomId AAAAAAAA|BBBBBBBB|CCCCCCCC + // #HttpOnly_app.ryzom.com FALSE / FALSE 0 PHPSESSID sess-id-value + std::string cookie; + // set tailmatch + if (domain[0] != '.' && domain[0] != '#') + cookie = "." + domain + "\tTRUE"; + else + cookie = domain + "\tFALSE"; + cookie += "\t/\tFALSE\t0\tryzomId\t" + CurrentCookie; + curl_easy_setopt(curl, CURLOPT_COOKIELIST, cookie.c_str()); + //nlwarning("domain '%s', cookie '%s'", domain.c_str(), cookie.c_str()); + } + + if(!HTTPCookies[domain].empty()) + { + for(std::map::iterator it = HTTPCookies[domain].begin(); it != HTTPCookies[domain].end(); it++) + { + curl_easy_setopt(curl, CURLOPT_COOKIELIST, it->second.c_str()); + //nlwarning("set domain '%s' cookie '%s'", domain.c_str(), it->second.c_str()); + } + } + } + void initLibWWW() { static bool initialized = false; diff --git a/code/ryzom/client/src/interface_v3/group_html_cs.cpp b/code/ryzom/client/src/interface_v3/group_html_cs.cpp index 8dc9fdb2b..ef72eaae6 100644 --- a/code/ryzom/client/src/interface_v3/group_html_cs.cpp +++ b/code/ryzom/client/src/interface_v3/group_html_cs.cpp @@ -70,7 +70,7 @@ void CGroupHTMLCS::addHTTPGetParams (string &url, bool /*trustedDomain*/) // *************************************************************************** -void CGroupHTMLCS::addHTTPPostParams (HTAssocList *formfields, bool /*trustedDomain*/) +void CGroupHTMLCS::addHTTPPostParams (SFormFields &formfields, bool /*trustedDomain*/) { std::vector parameters; getParameters (parameters, false); @@ -78,7 +78,7 @@ void CGroupHTMLCS::addHTTPPostParams (HTAssocList *formfields, bool /*trustedDom uint i; for (i=0; igetLoginName (); - HTParseFormInput(formfields, ("shard="+toString(CharacterHomeSessionId)).c_str()); - HTParseFormInput(formfields, ("user_login="+user_name.toString()).c_str()); - HTParseFormInput(formfields, ("session_cookie="+NetMngr.getLoginCookie().toString()).c_str()); - HTParseFormInput(formfields, ("lang="+CI18N::getCurrentLanguageCode()).c_str()); + formfields.add("shard", toString(CharacterHomeSessionId)); + formfields.add("user_login", user_name.toString()); + formfields.add("session_cookie", NetMngr.getLoginCookie().toString()); + formfields.add("lang", CI18N::getCurrentLanguageCode()); } // *************************************************************************** diff --git a/code/ryzom/client/src/interface_v3/group_html_mail.h b/code/ryzom/client/src/interface_v3/group_html_mail.h index 675a580c4..4731e1c3c 100644 --- a/code/ryzom/client/src/interface_v3/group_html_mail.h +++ b/code/ryzom/client/src/interface_v3/group_html_mail.h @@ -40,7 +40,7 @@ public: // From CGroupHTML virtual void addHTTPGetParams (std::string &url, bool trustedDomain); - virtual void addHTTPPostParams (HTAssocList *formfields, bool trustedDomain); + virtual void addHTTPPostParams (SFormFields &formfields, bool trustedDomain); virtual std::string home(); virtual void handle (); diff --git a/code/ryzom/client/src/interface_v3/group_html_webig.cpp b/code/ryzom/client/src/interface_v3/group_html_webig.cpp index 680a26273..1b74233e7 100644 --- a/code/ryzom/client/src/interface_v3/group_html_webig.cpp +++ b/code/ryzom/client/src/interface_v3/group_html_webig.cpp @@ -307,19 +307,19 @@ void CGroupHTMLAuth::addHTTPGetParams (string &url, bool trustedDomain) // *************************************************************************** -void CGroupHTMLAuth::addHTTPPostParams (HTAssocList *formfields, bool trustedDomain) +void CGroupHTMLAuth::addHTTPPostParams (SFormFields &formfields, bool trustedDomain) { if(!UserEntity) return; uint32 cid = NetMngr.getLoginCookie().getUserId() * 16 + PlayerSelectedSlot; - HTParseFormInput(formfields, ("shardid="+toString(CharacterHomeSessionId)).c_str()); - HTParseFormInput(formfields, ("name="+UserEntity->getLoginName().toUtf8()).c_str()); - HTParseFormInput(formfields, ("lang="+CI18N::getCurrentLanguageCode()).c_str()); - HTParseFormInput(formfields, "ig=1"); + formfields.add("shardid", toString(CharacterHomeSessionId)); + formfields.add("name", UserEntity->getLoginName().toUtf8()); + formfields.add("lang", CI18N::getCurrentLanguageCode()); + formfields.add("ig", "1"); if (trustedDomain) { - HTParseFormInput(formfields, ("cid="+toString(cid)).c_str()); - HTParseFormInput(formfields, ("authkey="+getWebAuthKey()).c_str()); + formfields.add("cid", toString(cid)); + formfields.add("authkey", getWebAuthKey()); } } @@ -365,7 +365,7 @@ void CGroupHTMLWebIG::addHTTPGetParams (string &url, bool trustedDomain) // *************************************************************************** -void CGroupHTMLWebIG::addHTTPPostParams (HTAssocList *formfields, bool trustedDomain) +void CGroupHTMLWebIG::addHTTPPostParams (SFormFields &formfields, bool trustedDomain) { CGroupHTMLAuth::addHTTPPostParams(formfields, trustedDomain); } diff --git a/code/ryzom/client/src/interface_v3/group_html_webig.h b/code/ryzom/client/src/interface_v3/group_html_webig.h index 9da5adee5..49aac7153 100644 --- a/code/ryzom/client/src/interface_v3/group_html_webig.h +++ b/code/ryzom/client/src/interface_v3/group_html_webig.h @@ -33,7 +33,7 @@ public: // From CGroupHTML virtual void addHTTPGetParams (std::string &url, bool trustedDomain); - virtual void addHTTPPostParams (HTAssocList *formfields, bool trustedDomain); + virtual void addHTTPPostParams (SFormFields &formfields, bool trustedDomain); virtual std::string home(); virtual void handle (); @@ -55,7 +55,7 @@ public: /// From CGroupHTMLAuth virtual void addHTTPGetParams (std::string &url, bool trustedDomain); - virtual void addHTTPPostParams (HTAssocList *formfields, bool trustedDomain); + virtual void addHTTPPostParams (SFormFields &formfields, bool trustedDomain); virtual std::string home(); virtual void handle (); From 2771185ef75ffd5eb8e4d701a1b9a640116bdbce Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 19 Apr 2015 20:26:38 +0300 Subject: [PATCH 52/73] Fix utf8 tooltips on web links --HG-- branch : develop --- code/nel/src/gui/view_pointer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/src/gui/view_pointer.cpp b/code/nel/src/gui/view_pointer.cpp index 5777ea848..3816045b8 100644 --- a/code/nel/src/gui/view_pointer.cpp +++ b/code/nel/src/gui/view_pointer.cpp @@ -252,7 +252,7 @@ namespace NLGUI if (vLink->getMouseOverShape(tooltip, rot, col)) { - setString(ucstring(tooltip)); + setString(ucstring::makeFromUtf8(tooltip)); sint32 texId = rVR.getTextureIdFromName ("curs_pick.tga"); CInterfaceGroup *stringCursor = hwMouse ? _StringCursorHardware : _StringCursor; @@ -408,7 +408,7 @@ namespace NLGUI splitString(tooltipInfos, "@", tooltipInfosList); texName = tooltipInfosList[0]; tooltip = tooltipInfosList[1]; - setString(ucstring(tooltip)); + setString(ucstring::makeFromUtf8(tooltip)); CViewRenderer &rVR = *CViewRenderer::getInstance(); sint32 texId = rVR.getTextureIdFromName (texName); From ad3fac7b15eba2417a2782135698c47b9ae6d565 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 19 Apr 2015 22:01:46 +0300 Subject: [PATCH 53/73] Make sure image src attribute matches local file or is absolute url --HG-- branch : develop --- code/nel/include/nel/gui/group_html.h | 3 ++- code/nel/src/gui/group_html.cpp | 36 +++++++++++++-------------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index d7c1cd30a..fd6929477 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -713,7 +713,7 @@ namespace NLGUI struct CDataDownload { public: - CDataDownload(CURL *c, const std::string &u, FILE *f, TDataType t, CViewBase *i, const std::string &s, const std::string &m) : curl(c), url(u), luaScript(s), md5sum(m), type(t), fp(f) + CDataDownload(CURL *c, const std::string &u, const std::string &d, FILE *f, TDataType t, CViewBase *i, const std::string &s, const std::string &m) : curl(c), url(u), dest(d), luaScript(s), md5sum(m), type(t), fp(f) { if (t == ImgType) imgs.push_back(i); } @@ -721,6 +721,7 @@ namespace NLGUI public: CURL *curl; std::string url; + std::string dest; std::string luaScript; std::string md5sum; TDataType type; diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 5d3ae2570..ae1975789 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -177,13 +177,15 @@ namespace NLGUI // Add a image download request in the multi_curl void CGroupHTML::addImageDownload(const string &url, CViewBase *img) { + string finalUrl = getAbsoluteUrl(url); + // Search if we are not already downloading this url. for(uint i = 0; i < Curls.size(); i++) { - if(Curls[i].url == url) + if(Curls[i].url == finalUrl) { #ifdef LOG_DL - nlwarning("already downloading '%s' img %p", url.c_str(), img); + nlwarning("already downloading '%s' img %p", finalUrl.c_str(), img); #endif Curls[i].imgs.push_back(img); return; @@ -192,12 +194,13 @@ namespace NLGUI CURL *curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_NOPROGRESS, true); - curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); + curl_easy_setopt(curl, CURLOPT_URL, finalUrl.c_str()); + // use requested url for local name string dest = localImageName(url); string tmpdest = localImageName(url)+".tmp"; #ifdef LOG_DL - nlwarning("add to download '%s' dest '%s' img %p", url.c_str(), dest.c_str(), img); + nlwarning("add to download '%s' dest '%s' img %p", finalUrl.c_str(), dest.c_str(), img); #endif // erase the tmp file if exists @@ -216,7 +219,7 @@ namespace NLGUI curl_easy_setopt(curl, CURLOPT_FILE, fp); curl_multi_add_handle(MultiCurl, curl); - Curls.push_back(CDataDownload(curl, url, fp, ImgType, img, "", "")); + Curls.push_back(CDataDownload(curl, finalUrl, dest, fp, ImgType, img, "", "")); #ifdef LOG_DL nlwarning("adding handle %x, %d curls", curl, Curls.size()); #endif @@ -311,7 +314,7 @@ namespace NLGUI curl_easy_setopt(curl, CURLOPT_FILE, fp); curl_multi_add_handle(MultiCurl, curl); - Curls.push_back(CDataDownload(curl, url, fp, BnpType, NULL, script, md5sum)); + Curls.push_back(CDataDownload(curl, url, dest, fp, BnpType, NULL, script, md5sum)); #ifdef LOG_DL nlwarning("adding handle %x, %d curls", curl, Curls.size()); #endif @@ -453,34 +456,29 @@ namespace NLGUI curl_multi_remove_handle(MultiCurl, it->curl); curl_easy_cleanup(it->curl); - string file; - if (it->type == ImgType) - file = localImageName(it->url); - else - file = localBnpName(it->url); - - if(res != CURLE_OK || r < 200 || r >= 300 || ((it->md5sum != "") && (it->md5sum != getMD5(file+".tmp").toString()))) + string tmpfile = it->dest + ".tmp"; + if(res != CURLE_OK || r < 200 || r >= 300 || ((it->md5sum != "") && (it->md5sum != getMD5(tmpfile).toString()))) { - NLMISC::CFile::deleteFile((file+".tmp").c_str()); + NLMISC::CFile::deleteFile(tmpfile.c_str()); } else { string finalUrl; if (it->type == ImgType) { - CFile::moveFile(file.c_str(), (file+".tmp").c_str()); - if (lookupLocalFile (finalUrl, file.c_str(), false)) + CFile::moveFile(it->dest.c_str(), tmpfile.c_str()); + //if (lookupLocalFile (finalUrl, file.c_str(), false)) { for(uint i = 0; i < it->imgs.size(); i++) { - setImage(it->imgs[i], file); + setImage(it->imgs[i], it->dest); } } } else { - CFile::moveFile(file.c_str(), (file+".tmp").c_str()); - if (lookupLocalFile (finalUrl, file.c_str(), false)) + CFile::moveFile(it->dest.c_str(), tmpfile.c_str()); + //if (lookupLocalFile (finalUrl, file.c_str(), false)) { CLuaManager::getInstance().executeLuaScript( it->luaScript, true ); } From dc082f3921e5855e9aee1dd0f238d8202f83396b Mon Sep 17 00:00:00 2001 From: Nimetu Date: Sun, 19 Apr 2015 22:12:05 +0300 Subject: [PATCH 54/73] Replace url parser with one less strict --HG-- branch : develop --- code/nel/include/nel/gui/url_parser.h | 63 ++++++++ code/nel/src/gui/group_html.cpp | 17 +- code/nel/src/gui/url_parser.cpp | 222 ++++++++++++++++++++++++++ 3 files changed, 290 insertions(+), 12 deletions(-) create mode 100644 code/nel/include/nel/gui/url_parser.h create mode 100644 code/nel/src/gui/url_parser.cpp diff --git a/code/nel/include/nel/gui/url_parser.h b/code/nel/include/nel/gui/url_parser.h new file mode 100644 index 000000000..b47e67b37 --- /dev/null +++ b/code/nel/include/nel/gui/url_parser.h @@ -0,0 +1,63 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +#ifndef CL_URL_PARSER_H +#define CL_URL_PARSER_H + +#include + +namespace NLGUI +{ + /** + * Simple URL parser + * \author Meelis Mägi + * \date 2015 + */ + class CUrlParser + { + public: + CUrlParser(){} + + // parse uri to components + CUrlParser(const std::string &url); + + // parse uri to components + void parse(std::string uri); + + // serialize URL back to string + std::string toString() const; + + // inherit scheme, domain, path from given url + void inherit(const std::string &url); + + // if current parts can compose absolute url or not + bool isAbsolute() const; + + // resolve relative path like './a/../b' to absolute path '/a/b' + static void resolveRelativePath(std::string &path); + + public: + std::string scheme; + std::string domain; + std::string path; + std::string query; + std::string hash; + }; + +}// namespace + +#endif // CL_URL_PARSER_H + diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index ae1975789..0ec026a1a 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -43,7 +43,7 @@ #include "nel/misc/md5.h" #include "nel/3d/texture_file.h" #include "nel/misc/big_file.h" -#include +#include "nel/gui/url_parser.h" using namespace std; using namespace NLMISC; @@ -4777,20 +4777,13 @@ namespace NLGUI // *************************************************************************** std::string CGroupHTML::getAbsoluteUrl(const std::string &url) { - if (_URL.size() == 0 || url.find("http://") != std::string::npos || url.find("https://") != std::string::npos) + CUrlParser uri(url); + if (uri.isAbsolute()) return url; - xmlChar * uri; - uri = xmlBuildURI(reinterpret_cast(url.c_str()), reinterpret_cast(_URL.c_str())); - if (uri) - { - std::string ret(reinterpret_cast(uri)); - xmlFree(uri); - - return ret; - } + uri.inherit(_URL); - return url; + return uri.toString(); } // *************************************************************************** diff --git a/code/nel/src/gui/url_parser.cpp b/code/nel/src/gui/url_parser.cpp new file mode 100644 index 000000000..68d4f8496 --- /dev/null +++ b/code/nel/src/gui/url_parser.cpp @@ -0,0 +1,222 @@ +// Ryzom - MMORPG Framework +// Copyright (C) 2010 Winch Gate Property Limited +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +#include +#include "nel/misc/types_nl.h" +#include "nel/gui/url_parser.h" + +using namespace std; + + +namespace NLGUI +{ + // *************************************************************************** + CUrlParser::CUrlParser(const std::string &uri) + { + parse(uri); + } + + // *************************************************************************** + void CUrlParser::parse(std::string uri) + { + const size_t npos = std::string::npos; + size_t pos; + size_t offset = 0; + + // strip fragment if present + pos = uri.find("#"); + if (pos != npos) + { + hash = uri.substr(pos + 1); + uri = uri.substr(0, pos); + } + + // scan for scheme + pos = uri.find(":"); + if (pos != npos && pos >= 1) + { + for (uint i=0; i 0) + { + // full or last segment + sub = path.substr(pos-1, 4); + if (sub == "/../" || sub == "/..") + { + if (pos > 1) + lhp = path.find_last_of("/", pos - 2); + else + lhp = 0; + + // pos points to first dot in .. + // lhp points to start slash (/) of last segment + pos += sub.size() - 1; + path.replace(lhp, pos - lhp, "/"); + pos = lhp; + } + } + }// sub == ".." + } // path[pos] == '.' + pos++; + }// while + } + + bool CUrlParser::isAbsolute() const + { + return !scheme.empty() && !domain.empty(); + } + + // serialize URL back to string + std::string CUrlParser::toString() const + { + std::string result; + if (!scheme.empty()) + result += scheme + ":"; + + if (!domain.empty()) + { + result += domain; + } + + // path already has leading slash + if (!path.empty()) + result += path; + + if (!query.empty()) + result += "?" + query; + + if (!hash.empty()) + result += "#" + hash; + + return result; + } + +}// namespace + From 26571de439a0eb2e9bb1bab52430724b52f8811c Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 20 Apr 2015 01:04:52 +0300 Subject: [PATCH 55/73] Fix compiling under windows --HG-- branch : develop --- code/nel/include/nel/gui/group_html.h | 4 ++-- code/nel/include/nel/gui/libwww_types.h | 2 -- code/nel/src/gui/group_html.cpp | 10 +++++----- code/nel/src/gui/group_html_parser.cpp | 6 ++++-- .../ryzom/client/src/interface_v3/group_quick_help.cpp | 2 +- code/ryzom/client/src/interface_v3/group_quick_help.h | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index fd6929477..f52132fad 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -249,10 +249,10 @@ namespace NLGUI virtual void addText (const char * buf, int len); // A link has been parsed - virtual void addLink (uint element_number, const BOOL *present, const char **value); + virtual void addLink (uint element_number, const std::vector &present, const std::vector &value); // A new begin HTML element has been parsed ( for exemple) - virtual void beginElement (uint element_number, const BOOL *present, const char **value); + virtual void beginElement (uint element_number, const std::vector &present, const std::vector &value); // A new end HTML element has been parsed ( for exemple) virtual void endElement (uint element_number); diff --git a/code/nel/include/nel/gui/libwww_types.h b/code/nel/include/nel/gui/libwww_types.h index 27058c861..4a1c6b238 100644 --- a/code/nel/include/nel/gui/libwww_types.h +++ b/code/nel/include/nel/gui/libwww_types.h @@ -32,8 +32,6 @@ #ifndef CL_LIB_WWW_TYPES_H #define CL_LIB_WWW_TYPES_H -typedef char BOOL; - // // LibWWW elements // - order must be kept for backward compatibility, new tags can be added to the end diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 0ec026a1a..9cfdc1ef0 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -674,7 +674,7 @@ namespace NLGUI // *************************************************************************** - void CGroupHTML::addLink (uint element_number, const BOOL *present, const char **value) + void CGroupHTML::addLink (uint element_number, const std::vector &present, const std::vector &value) { if (_Browsing) { @@ -982,7 +982,7 @@ namespace NLGUI // *************************************************************************** - void CGroupHTML::beginElement (uint element_number, const BOOL *present, const char **value) + void CGroupHTML::beginElement (uint element_number, const std::vector &present, const std::vector &value) { if (_Browsing) { @@ -4604,7 +4604,7 @@ namespace NLGUI CLuaIHM::checkArgType(ls, funcName, 2, LUA_TTABLE); uint element_number = (uint)ls.toNumber(1); - std::vector present; + std::vector present; std::vector value; present.resize(30, false); value.resize(30); @@ -4638,9 +4638,9 @@ namespace NLGUI value.insert(value.begin() + (uint)it.nextKey().toNumber(), buffer); } - beginElement(element_number, &present[0], &value[0]); + beginElement(element_number, present, value); if (element_number == HTML_A) - addLink(element_number, &present[0], &value[0]); + addLink(element_number, present, value); return 0; } diff --git a/code/nel/src/gui/group_html_parser.cpp b/code/nel/src/gui/group_html_parser.cpp index e6f63d464..260e6a96f 100644 --- a/code/nel/src/gui/group_html_parser.cpp +++ b/code/nel/src/gui/group_html_parser.cpp @@ -39,9 +39,11 @@ namespace NLGUI { CXMLAutoPtr ptr; // load attributes into libwww structs - BOOL present[MAX_ATTRIBUTES] = {0}; - const char *value[MAX_ATTRIBUTES] = {NULL}; + std::vector present; + std::vectorvalue; std::string strvalues[MAX_ATTRIBUTES]; + present.resize(30, false); + value.resize(30); uint nbAttributes = std::min(MAX_ATTRIBUTES, HTML_DTD->tags[element_number].number_of_attributes); for(uint i=0; i &present, const std::vector&value) { CGroupHTML::beginElement (element_number, present, value); diff --git a/code/ryzom/client/src/interface_v3/group_quick_help.h b/code/ryzom/client/src/interface_v3/group_quick_help.h index a4557a4c7..76f863bf9 100644 --- a/code/ryzom/client/src/interface_v3/group_quick_help.h +++ b/code/ryzom/client/src/interface_v3/group_quick_help.h @@ -48,7 +48,7 @@ private: virtual void updateCoords(); // From CGroupHTML - virtual void beginElement (uint element_number, const BOOL *present, const char **value); + virtual void beginElement (uint element_number, const std::vector &present, const std::vector&value); virtual void endBuild (); virtual void browse (const char *url); virtual std::string home(); From a6cf9730be31220a3ecd1ee218c261c88fe05e0c Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 20 Apr 2015 20:50:56 +0300 Subject: [PATCH 56/73] Fix possible curl handle leak --HG-- branch : develop --- code/nel/src/gui/group_html.cpp | 40 ++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 9cfdc1ef0..1a893d0d9 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -192,10 +192,6 @@ namespace NLGUI } } - CURL *curl = curl_easy_init(); - curl_easy_setopt(curl, CURLOPT_NOPROGRESS, true); - curl_easy_setopt(curl, CURLOPT_URL, finalUrl.c_str()); - // use requested url for local name string dest = localImageName(url); string tmpdest = localImageName(url)+".tmp"; @@ -209,13 +205,30 @@ namespace NLGUI if (!NLMISC::CFile::fileExists(dest)) { + if (!MultiCurl) + { + nlwarning("Invalid MultiCurl handle, unable to download '%s'", finalUrl.c_str()); + return; + } + + CURL *curl = curl_easy_init(); + if (!curl) + { + nlwarning("Creating cURL handle failed, unable to download '%s'", finalUrl.c_str()); + return; + } FILE *fp = fopen (tmpdest.c_str(), "wb"); if (fp == NULL) { + curl_easy_cleanup(curl); + nlwarning("Can't open file '%s' for writing: code=%d '%s'", tmpdest.c_str (), errno, strerror(errno)); return; } + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, true); + curl_easy_setopt(curl, CURLOPT_URL, finalUrl.c_str()); + curl_easy_setopt(curl, CURLOPT_FILE, fp); curl_multi_add_handle(MultiCurl, curl); @@ -298,19 +311,30 @@ namespace NLGUI } if (action != "delete") { - CURL *curl = curl_easy_init(); - if (!MultiCurl || !curl) + if (!MultiCurl) + { + nlwarning("Invalid MultiCurl handle, unable to download '%s'", url.c_str()); return false; + } - curl_easy_setopt(curl, CURLOPT_NOPROGRESS, true); - curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); + CURL *curl = curl_easy_init(); + if (!curl) + { + nlwarning("Creating cURL handle failed, unable to download '%s'", url.c_str()); + return false; + } FILE *fp = fopen (tmpdest.c_str(), "wb"); if (fp == NULL) { + curl_easy_cleanup(curl); nlwarning("Can't open file '%s' for writing: code=%d '%s'", tmpdest.c_str (), errno, strerror(errno)); return false; } + + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, true); + curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); + curl_easy_setopt(curl, CURLOPT_FILE, fp); curl_multi_add_handle(MultiCurl, curl); From ce4cb9c4f1460bcfd462721301d6e2818b2759b4 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Mon, 20 Apr 2015 20:51:00 +0300 Subject: [PATCH 57/73] Fix sending and receiving cookies --HG-- branch : develop --- code/nel/src/gui/group_html.cpp | 6 ++++-- code/nel/src/gui/libwww.cpp | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 1a893d0d9..024d9b88e 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -416,6 +416,8 @@ namespace NLGUI } else { + receiveCookies(_CurlWWW->Request, HTTPCurrentDomain, _TrustedDomain); + // redirect, get the location and try browse again // we cant use curl redirection because 'addHTTPGetParams()' must be called on new destination std::string location(_CurlWWW->getLocationHeader()); @@ -441,6 +443,8 @@ namespace NLGUI } else { + receiveCookies(_CurlWWW->Request, HTTPCurrentDomain, _TrustedDomain); + _RedirectsRemaining = DEFAULT_RYZOM_REDIRECT_LIMIT; if ( (code < 200 || code >= 300) ) @@ -449,8 +453,6 @@ namespace NLGUI } else { - receiveCookies(_CurlWWW->Request, HTTPCurrentDomain, _TrustedDomain); - char *ch; std::string contentType; res = curl_easy_getinfo(_CurlWWW->Request, CURLINFO_CONTENT_TYPE, &ch); diff --git a/code/nel/src/gui/libwww.cpp b/code/nel/src/gui/libwww.cpp index ff73bb59a..88c6f38c4 100644 --- a/code/nel/src/gui/libwww.cpp +++ b/code/nel/src/gui/libwww.cpp @@ -387,6 +387,9 @@ namespace NLGUI // add all cookies for domain to curl handle void sendCookies(CURL *curl, const std::string &domain, bool trusted) { + // enable curl cookie engine + curl_easy_setopt(curl, CURLOPT_COOKIELIST, ""); + if (domain.empty()) return; From c58e10f1734856f405c31a0cf942099292a8a0f1 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Tue, 21 Apr 2015 18:54:08 +0300 Subject: [PATCH 58/73] Add "select_shortcut_bar_2" action handler (issue 222) --HG-- branch : develop --- .../data/gamedev/interfaces_v3/actions.xml | 14 ++++++++++++++ .../src/interface_v3/action_handler_phrase.cpp | 17 +++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml b/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml index 3486e0298..8696de32a 100644 --- a/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml +++ b/code/ryzom/client/data/gamedev/interfaces_v3/actions.xml @@ -205,6 +205,20 @@ + + + + + + + + + + + + + + diff --git a/code/ryzom/client/src/interface_v3/action_handler_phrase.cpp b/code/ryzom/client/src/interface_v3/action_handler_phrase.cpp index 67f798cb8..81fa09ef0 100644 --- a/code/ryzom/client/src/interface_v3/action_handler_phrase.cpp +++ b/code/ryzom/client/src/interface_v3/action_handler_phrase.cpp @@ -1620,6 +1620,23 @@ public: }; REGISTER_ACTION_HANDLER(CHandlerPhraseSelectShortcutBar, "select_shortcut_bar"); +// *************************************************************************** +class CHandlerPhraseSelectShortcutBar2 : public IActionHandler +{ +public: + virtual void execute(CCtrlBase * /* pCaller */, const string &Params) + { + CInterfaceManager *pIM= CInterfaceManager::getInstance(); + CCDBNodeLeaf *node= NLGUI::CDBManager::getInstance()->getDbProp("UI:PHRASE:SELECT_MEMORY_2", false); + if(node) + { + sint32 val; + fromString(Params, val); + node->setValue32(val); + } + } +}; +REGISTER_ACTION_HANDLER(CHandlerPhraseSelectShortcutBar2, "select_shortcut_bar_2"); // *************************************************************************** // *************************************************************************** From 11ca61be547773ef61b3acd78c8dc1af344f7d42 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Wed, 22 Apr 2015 13:44:21 +0300 Subject: [PATCH 59/73] Fix compiling on 32bit linux --HG-- branch : develop --- code/nel/src/gui/group_html.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index 024d9b88e..c06daeead 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -449,7 +449,7 @@ namespace NLGUI if ( (code < 200 || code >= 300) ) { - browseError(string("Connection failed (curl code " + toString((sint32)res) + "), http code " + toString(code) + ") : " + _CurlWWW->Url).c_str()); + browseError(string("Connection failed (curl code " + toString((sint32)res) + "), http code " + toString((sint32)code) + ") : " + _CurlWWW->Url).c_str()); } else { From 9a55ee46b77804b051c649fbda0e45533903dc11 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 25 Apr 2015 12:53:52 +0200 Subject: [PATCH 60/73] Removed dependency on libwww --HG-- branch : develop --- code/ryzom/client/src/CMakeLists.txt | 2 -- code/ryzom/client/src/interface_v3/chat_displayer.h | 5 ----- dist/debian/precise/debian/control | 6 +++--- dist/debian/precise/debian/rules | 2 +- dist/debian/trusty/debian/control | 6 +++--- dist/debian/trusty/debian/rules | 2 +- dist/debian/utopic/debian/control | 6 +++--- dist/debian/utopic/debian/rules | 2 +- dist/debian/vivid/debian/control | 6 +++--- dist/debian/vivid/debian/rules | 2 +- 10 files changed, 16 insertions(+), 23 deletions(-) diff --git a/code/ryzom/client/src/CMakeLists.txt b/code/ryzom/client/src/CMakeLists.txt index 9c2b4b431..610e434ef 100644 --- a/code/ryzom/client/src/CMakeLists.txt +++ b/code/ryzom/client/src/CMakeLists.txt @@ -81,7 +81,6 @@ INCLUDE_DIRECTORIES( ${LIBXML2_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${LUABIND_INCLUDE_DIR} - ${LIBWWW_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR} ) @@ -101,7 +100,6 @@ TARGET_LINK_LIBRARIES(ryzom_client ${LUA_LIBRARIES} ${LUABIND_LIBRARIES} ${CURL_LIBRARIES} - ${LIBWWW_LIBRARIES} ${SEVENZIP_LIBRARY} ) diff --git a/code/ryzom/client/src/interface_v3/chat_displayer.h b/code/ryzom/client/src/interface_v3/chat_displayer.h index e2afc7207..5c46c81ca 100644 --- a/code/ryzom/client/src/interface_v3/chat_displayer.h +++ b/code/ryzom/client/src/interface_v3/chat_displayer.h @@ -25,11 +25,6 @@ #include "nel/misc/mutex.h" -// to fix a conflict with syslog.h being included by libwww -#ifdef LOG_WARNING -#undef LOG_WARNING -#endif - /** * class used to display console text commands in the chat window * \author Nicolas Brigand diff --git a/dist/debian/precise/debian/control b/dist/debian/precise/debian/control index cf8840bb2..6220c1c6b 100644 --- a/dist/debian/precise/debian/control +++ b/dist/debian/precise/debian/control @@ -6,12 +6,12 @@ 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, + libboost-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 +Bugs: https://bitbucket.org/ryzom/ryzomcore/issues +Homepage: https://bitbucket.org/ryzom/ryzomcore/ 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 diff --git a/dist/debian/precise/debian/rules b/dist/debian/precise/debian/rules index 2b329f3be..26ace8254 100755 --- a/dist/debian/precise/debian/rules +++ b/dist/debian/precise/debian/rules @@ -12,7 +12,7 @@ override_dh_strip: 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 + 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_QT=ON override_dh_install: dh_install diff --git a/dist/debian/trusty/debian/control b/dist/debian/trusty/debian/control index e662d1f37..4e41817dc 100644 --- a/dist/debian/trusty/debian/control +++ b/dist/debian/trusty/debian/control @@ -6,12 +6,12 @@ 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, + libboost-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 +Bugs: https://bitbucket.org/ryzom/ryzomcore/issues +Homepage: https://bitbucket.org/ryzom/ryzomcore/ 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 diff --git a/dist/debian/trusty/debian/rules b/dist/debian/trusty/debian/rules index 2b329f3be..26ace8254 100755 --- a/dist/debian/trusty/debian/rules +++ b/dist/debian/trusty/debian/rules @@ -12,7 +12,7 @@ override_dh_strip: 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 + 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_QT=ON override_dh_install: dh_install diff --git a/dist/debian/utopic/debian/control b/dist/debian/utopic/debian/control index e662d1f37..4e41817dc 100644 --- a/dist/debian/utopic/debian/control +++ b/dist/debian/utopic/debian/control @@ -6,12 +6,12 @@ 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, + libboost-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 +Bugs: https://bitbucket.org/ryzom/ryzomcore/issues +Homepage: https://bitbucket.org/ryzom/ryzomcore/ 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 diff --git a/dist/debian/utopic/debian/rules b/dist/debian/utopic/debian/rules index 2b329f3be..26ace8254 100755 --- a/dist/debian/utopic/debian/rules +++ b/dist/debian/utopic/debian/rules @@ -12,7 +12,7 @@ override_dh_strip: 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 + 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_QT=ON override_dh_install: dh_install diff --git a/dist/debian/vivid/debian/control b/dist/debian/vivid/debian/control index e662d1f37..4e41817dc 100644 --- a/dist/debian/vivid/debian/control +++ b/dist/debian/vivid/debian/control @@ -6,12 +6,12 @@ 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, + libboost-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 +Bugs: https://bitbucket.org/ryzom/ryzomcore/issues +Homepage: https://bitbucket.org/ryzom/ryzomcore/ 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 diff --git a/dist/debian/vivid/debian/rules b/dist/debian/vivid/debian/rules index 2b329f3be..26ace8254 100755 --- a/dist/debian/vivid/debian/rules +++ b/dist/debian/vivid/debian/rules @@ -12,7 +12,7 @@ override_dh_strip: 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 + 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_QT=ON override_dh_install: dh_install From a299b89a15a9af9edfd298731560cb52f61af654 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 25 Apr 2015 18:27:26 +0200 Subject: [PATCH 61/73] Changed Vcs-Hg and Vcs-Browser in Debian control files --HG-- branch : develop --- dist/debian/precise/debian/control | 4 ++-- dist/debian/trusty/debian/control | 4 ++-- dist/debian/utopic/debian/control | 4 ++-- dist/debian/vivid/debian/control | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dist/debian/precise/debian/control b/dist/debian/precise/debian/control index 6220c1c6b..e946c61ca 100644 --- a/dist/debian/precise/debian/control +++ b/dist/debian/precise/debian/control @@ -12,8 +12,8 @@ Standards-Version: 3.9.3 Section: games Bugs: https://bitbucket.org/ryzom/ryzomcore/issues Homepage: https://bitbucket.org/ryzom/ryzomcore/ -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 +Vcs-Hg: https://bitbucket.org/ryzom/ryzomcore +Vcs-Browser: https://bitbucket.org/ryzom/ryzomcore Package: libnel0 Section: libdevel diff --git a/dist/debian/trusty/debian/control b/dist/debian/trusty/debian/control index 4e41817dc..a802646d4 100644 --- a/dist/debian/trusty/debian/control +++ b/dist/debian/trusty/debian/control @@ -12,8 +12,8 @@ Standards-Version: 3.9.5 Section: games Bugs: https://bitbucket.org/ryzom/ryzomcore/issues Homepage: https://bitbucket.org/ryzom/ryzomcore/ -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 +Vcs-Hg: https://bitbucket.org/ryzom/ryzomcore +Vcs-Browser: https://bitbucket.org/ryzom/ryzomcore Package: libnel0 Section: libdevel diff --git a/dist/debian/utopic/debian/control b/dist/debian/utopic/debian/control index 4e41817dc..a802646d4 100644 --- a/dist/debian/utopic/debian/control +++ b/dist/debian/utopic/debian/control @@ -12,8 +12,8 @@ Standards-Version: 3.9.5 Section: games Bugs: https://bitbucket.org/ryzom/ryzomcore/issues Homepage: https://bitbucket.org/ryzom/ryzomcore/ -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 +Vcs-Hg: https://bitbucket.org/ryzom/ryzomcore +Vcs-Browser: https://bitbucket.org/ryzom/ryzomcore Package: libnel0 Section: libdevel diff --git a/dist/debian/vivid/debian/control b/dist/debian/vivid/debian/control index 4e41817dc..a802646d4 100644 --- a/dist/debian/vivid/debian/control +++ b/dist/debian/vivid/debian/control @@ -12,8 +12,8 @@ Standards-Version: 3.9.5 Section: games Bugs: https://bitbucket.org/ryzom/ryzomcore/issues Homepage: https://bitbucket.org/ryzom/ryzomcore/ -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 +Vcs-Hg: https://bitbucket.org/ryzom/ryzomcore +Vcs-Browser: https://bitbucket.org/ryzom/ryzomcore Package: libnel0 Section: libdevel From b4e0b46ac9af6e31b24afb168fd6c87c2bd9fc3e Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 25 Apr 2015 18:28:03 +0200 Subject: [PATCH 62/73] Fixed uint to bool conversion warning --HG-- branch : develop --- code/nel/include/nel/gui/group_html.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index f52132fad..98532abe4 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -457,7 +457,7 @@ namespace NLGUI } std::vector _FontOblique; - inline uint getFontOblique() const + inline bool getFontOblique() const { if (_FontOblique.empty()) return false; @@ -465,7 +465,7 @@ namespace NLGUI } std::vector _FontUnderlined; - inline uint getFontUnderlined() const + inline bool getFontUnderlined() const { if (_FontUnderlined.empty()) return false; @@ -473,7 +473,7 @@ namespace NLGUI } std::vector _FontStrikeThrough; - inline uint getFontStrikeThrough() const + inline bool getFontStrikeThrough() const { if (_FontStrikeThrough.empty()) return false; From 7cecd18eee4f57ca5231499f8881c1cfb336db3b Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 25 Apr 2015 19:16:06 +0200 Subject: [PATCH 63/73] Save space in debug screen to display VPB and VPC --HG-- branch : develop --- code/ryzom/client/src/character_cl.cpp | 10 ++-------- code/ryzom/client/src/entity_cl.cpp | 14 ++++---------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/code/ryzom/client/src/character_cl.cpp b/code/ryzom/client/src/character_cl.cpp index 89c9b805b..7a811ce13 100644 --- a/code/ryzom/client/src/character_cl.cpp +++ b/code/ryzom/client/src/character_cl.cpp @@ -8388,14 +8388,8 @@ ADD_METHOD(void CCharacterCL::displayDebug(float x, float &y, float lineStep)) / TextContext->printfAt(x, y, "Prim Pos: %f %f %f", primFinalPos.x, primFinalPos.y, primFinalPos.z); y += lineStep; } - // Skeleton Ptr - TextContext->printfAt(x, y, "Skel Ptr: %p", &_Skeleton); - y += lineStep; - // Animset Ptr - TextContext->printfAt(x, y, "AnimSet Ptr: %p", _CurrentAnimSet[MOVE]); - y += lineStep; - // Current State Ptr - TextContext->printfAt(x, y, "State Ptr: %p", _CurrentState); + // Skeleton Ptr, Animset Ptr and Current State Ptr + TextContext->printfAt(x, y, "Skel Ptr: %p - AnimSet Ptr: %p - State Ptr: %p", &_Skeleton, _CurrentAnimSet[MOVE], _CurrentState); y += lineStep; // Display the target mount and rider. TextContext->printfAt(x, y, "Mount: %3u(Theoretical: %3u) Rider: %3u(Theoretical: %3u)", mount(), _TheoreticalMount, rider(), _TheoreticalRider); diff --git a/code/ryzom/client/src/entity_cl.cpp b/code/ryzom/client/src/entity_cl.cpp index 6a14d6400..bee6b1d1d 100644 --- a/code/ryzom/client/src/entity_cl.cpp +++ b/code/ryzom/client/src/entity_cl.cpp @@ -2104,11 +2104,8 @@ void CEntityCL::setEntityName(const ucstring &name) //--------------------------------------------------- void CEntityCL::displayDebug(float x, float &y, float lineStep) // virtual { - // Type - TextContext->printfAt(x, y, "Type: %d", Type); - y += lineStep; - // Slot - TextContext->printfAt(x, y, "Slot: %d", _Slot); + // Type and slot + TextContext->printfAt(x, y, "Type: %d - Slot: %d", Type, _Slot); y += lineStep; // Outpost TextContext->printfAt(x, y, "Outpost id:%d side:%s",this->getOutpostId(),OUTPOSTENUMS::toString(this->getOutpostSide()).c_str() ); @@ -2119,11 +2116,8 @@ void CEntityCL::displayDebug(float x, float &y, float lineStep) // virtual else TextContext->printfAt(x, y, "Name not received"); y += lineStep; - // Target - TextContext->printfAt(x, y, "Target: %d", _TargetSlot); - y += lineStep; - // DataSet Id - TextContext->printfAt(x, y, "DataSet Id: %u", _DataSetId); + // Target and DataSet Id + TextContext->printfAt(x, y, "Target: %d - DataSet Id: %u", _TargetSlot, _DataSetId); y += lineStep; // Sheet Id TextContext->printfAt(x, y, "Sheet: %d(%s)", _SheetId.asInt(), _SheetId.toString().c_str()); From 39670e5b77d454533f7c18672cb0be4e7f28e3fd Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 25 Apr 2015 19:17:58 +0200 Subject: [PATCH 64/73] Comment translation --HG-- branch : develop --- code/ryzom/client/src/character_cl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/character_cl.cpp b/code/ryzom/client/src/character_cl.cpp index 7a811ce13..f4892eb70 100644 --- a/code/ryzom/client/src/character_cl.cpp +++ b/code/ryzom/client/src/character_cl.cpp @@ -8369,7 +8369,7 @@ ADD_METHOD(void CCharacterCL::displayDebug(float x, float &y, float lineStep)) / // Display the Run Factor. TextContext->printfAt(x, y, "(Walk)Run Factor: %f", runFactor()); y += lineStep; - // Display the current animation name(id)(offset)(nbloop) pour le channel MOVE. + // Display the current animation name(id)(offset)(nbloop) for channel MOVE. TextContext->printfAt(x, y, "Current Animation: %s(%u)(%lf)(%u loops)", animId(MOVE)==std::numeric_limits::max()?"[NONE]":currentAnimationName().c_str(), animId(MOVE), animOffset(MOVE), _NbLoopAnim); y += lineStep; // First Pos From 15766d4d177ab988abf0b5633003d43a714a5e1d Mon Sep 17 00:00:00 2001 From: Nimetu Date: Tue, 31 Mar 2015 18:47:46 +0300 Subject: [PATCH 65/73] Add radio button type to CGroupHTML (issue 237) --HG-- branch : develop --- code/nel/include/nel/gui/group_html.h | 3 + code/nel/src/gui/group_html.cpp | 105 ++++++++++++++++++++++++-- 2 files changed, 100 insertions(+), 8 deletions(-) diff --git a/code/nel/include/nel/gui/group_html.h b/code/nel/include/nel/gui/group_html.h index 98532abe4..bafa63348 100644 --- a/code/nel/include/nel/gui/group_html.h +++ b/code/nel/include/nel/gui/group_html.h @@ -163,6 +163,9 @@ namespace NLGUI std::string DefaultCheckBoxBitmapNormal; std::string DefaultCheckBoxBitmapPushed; std::string DefaultCheckBoxBitmapOver; + std::string DefaultRadioButtonBitmapNormal; + std::string DefaultRadioButtonBitmapPushed; + std::string DefaultRadioButtonBitmapOver; std::string DefaultBackgroundBitmapView; std::string CurrentLinkTitle; diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index c06daeead..0c9ee58a0 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -1445,30 +1445,71 @@ namespace NLGUI _Forms.back().Entries.push_back (entry); } } - else if (type == "checkbox") + else if (type == "checkbox" || type == "radio") { - // The submit button + CCtrlButton::EType btnType; string name; - string normal = DefaultCheckBoxBitmapNormal; - string pushed = DefaultCheckBoxBitmapPushed; - string over = DefaultCheckBoxBitmapOver; + string normal; + string pushed; + string over; + ucstring ucValue = ucstring("on"); bool checked = false; + + if (type == "radio") + { + btnType = CCtrlButton::RadioButton; + normal = DefaultRadioButtonBitmapNormal; + pushed = DefaultRadioButtonBitmapPushed; + over = DefaultRadioButtonBitmapOver; + } + else + { + btnType = CCtrlButton::ToggleButton; + normal = DefaultCheckBoxBitmapNormal; + pushed = DefaultCheckBoxBitmapPushed; + over = DefaultCheckBoxBitmapOver; + } + if (present[MY_HTML_INPUT_NAME] && value[MY_HTML_INPUT_NAME]) name = value[MY_HTML_INPUT_NAME]; if (present[MY_HTML_INPUT_SRC] && value[MY_HTML_INPUT_SRC]) normal = value[MY_HTML_INPUT_SRC]; + if (present[MY_HTML_INPUT_VALUE] && value[MY_HTML_INPUT_VALUE]) + ucValue.fromUtf8(value[MY_HTML_INPUT_VALUE]); checked = (present[MY_HTML_INPUT_CHECKED] && value[MY_HTML_INPUT_CHECKED]); // Add the ctrl button - CCtrlButton *checkbox = addButton (CCtrlButton::ToggleButton, name, normal, pushed, over, + CCtrlButton *checkbox = addButton (btnType, name, normal, pushed, over, globalColor, "", "", tooltip); if (checkbox) { + if (btnType == CCtrlButton::RadioButton) + { + // group together buttons with same name + CForm &form = _Forms.back(); + bool notfound = true; + for (uint i=0; igetType() == CCtrlButton::RadioButton) + { + checkbox->initRBRefFromRadioButton(form.Entries[i].Checkbox); + notfound = false; + break; + } + } + if (notfound) + { + // this will start a new group (initRBRef() would take first button in group container otherwise) + checkbox->initRBRefFromRadioButton(checkbox); + } + } + checkbox->setPushed (checked); - // Add the text area to the form + // Add the button to the form CGroupHTML::CForm::CEntry entry; entry.Name = name; + entry.Value = decodeHTMLEntities(ucValue); entry.Checkbox = checkbox; _Forms.back().Entries.push_back (entry); } @@ -2040,6 +2081,9 @@ namespace NLGUI DefaultCheckBoxBitmapNormal = "checkbox_normal.tga"; DefaultCheckBoxBitmapPushed = "checkbox_pushed.tga"; DefaultCheckBoxBitmapOver = "checkbox_over.tga"; + DefaultRadioButtonBitmapNormal = "w_radiobutton.png"; + DefaultRadioButtonBitmapPushed = "w_radiobutton_pushed.png"; + DefaultRadioButtonBitmapOver = ""; DefaultBackgroundBitmapView = "bg"; clearContext(); @@ -2275,6 +2319,21 @@ namespace NLGUI return DefaultCheckBoxBitmapOver; } else + if( name == "radiobutton_bitmap_normal" ) + { + return DefaultRadioButtonBitmapNormal; + } + else + if( name == "radiobutton_bitmap_pushed" ) + { + return DefaultRadioButtonBitmapPushed; + } + else + if( name == "radiobutton_bitmap_over" ) + { + return DefaultRadioButtonBitmapOver; + } + else if( name == "background_bitmap_view" ) { return DefaultBackgroundBitmapView; @@ -2618,6 +2677,24 @@ namespace NLGUI return; } else + if( name == "radiobutton_bitmap_normal" ) + { + DefaultRadioButtonBitmapNormal = value; + return; + } + else + if( name == "radiobutton_bitmap_pushed" ) + { + DefaultRadioButtonBitmapPushed = value; + return; + } + else + if( name == "radiobutton_bitmap_over" ) + { + DefaultRadioButtonBitmapOver = value; + return; + } + else if( name == "background_bitmap_view" ) { DefaultBackgroundBitmapView = value; @@ -2731,6 +2808,9 @@ namespace NLGUI xmlSetProp( node, BAD_CAST "checkbox_bitmap_normal", BAD_CAST DefaultCheckBoxBitmapNormal.c_str() ); xmlSetProp( node, BAD_CAST "checkbox_bitmap_pushed", BAD_CAST DefaultCheckBoxBitmapPushed.c_str() ); xmlSetProp( node, BAD_CAST "checkbox_bitmap_over", BAD_CAST DefaultCheckBoxBitmapOver.c_str() ); + xmlSetProp( node, BAD_CAST "radiobutton_bitmap_normal", BAD_CAST DefaultRadioButtonBitmapNormal.c_str() ); + xmlSetProp( node, BAD_CAST "radiobutton_bitmap_pushed", BAD_CAST DefaultRadioButtonBitmapPushed.c_str() ); + xmlSetProp( node, BAD_CAST "radiobutton_bitmap_over", BAD_CAST DefaultRadioButtonBitmapOver.c_str() ); xmlSetProp( node, BAD_CAST "background_bitmap_view", BAD_CAST DefaultBackgroundBitmapView.c_str() ); xmlSetProp( node, BAD_CAST "home", BAD_CAST Home.c_str() ); xmlSetProp( node, BAD_CAST "browse_next_time", BAD_CAST toString( _BrowseNextTime ).c_str() ); @@ -2888,6 +2968,15 @@ namespace NLGUI ptr = xmlGetProp (cur, (xmlChar*)"checkbox_bitmap_over"); if (ptr) DefaultCheckBoxBitmapOver = (const char*)(ptr); + ptr = xmlGetProp (cur, (xmlChar*)"radiobutton_bitmap_normal"); + if (ptr) + DefaultRadioButtonBitmapNormal = (const char*)(ptr); + ptr = xmlGetProp (cur, (xmlChar*)"radiobutton_bitmap_pushed"); + if (ptr) + DefaultRadioButtonBitmapPushed = (const char*)(ptr); + ptr = xmlGetProp (cur, (xmlChar*)"radiobutton_bitmap_over"); + if (ptr) + DefaultRadioButtonBitmapOver = (const char*)(ptr); ptr = xmlGetProp (cur, (xmlChar*)"background_bitmap_view"); if (ptr) DefaultBackgroundBitmapView = (const char*)(ptr); @@ -3966,7 +4055,7 @@ namespace NLGUI // todo handle unicode POST here if (form.Entries[i].Checkbox->getPushed ()) { - entryData = ucstring ("on"); + entryData = form.Entries[i].Value; addEntry = true; } } From 04cffc1559e6f038fdbe41ceaf2294c1414f8714 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Wed, 17 Jun 2015 00:36:54 +0300 Subject: [PATCH 66/73] Fix missing include when WITH_PCH=OFF --HG-- branch : develop --- code/nel/include/nel/gui/libwww_types.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/nel/include/nel/gui/libwww_types.h b/code/nel/include/nel/gui/libwww_types.h index 4a1c6b238..01f6eb534 100644 --- a/code/nel/include/nel/gui/libwww_types.h +++ b/code/nel/include/nel/gui/libwww_types.h @@ -32,6 +32,8 @@ #ifndef CL_LIB_WWW_TYPES_H #define CL_LIB_WWW_TYPES_H +#include + // // LibWWW elements // - order must be kept for backward compatibility, new tags can be added to the end From 0cd51d59c7049a35e47c4d13947413697bd8e4f4 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 10 Jul 2015 02:31:04 +0200 Subject: [PATCH 67/73] Fix VS2013 64bit compiler error C1128: number of sections exceeded object file format limit : compile with /bigobj --HG-- branch : develop --- code/ryzom/server/src/entities_game_service/CMakeLists.txt | 4 ++++ code/ryzom/server/src/shard_unifier_service/CMakeLists.txt | 4 ++++ code/ryzom/tools/sheets_packer_shard/CMakeLists.txt | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/code/ryzom/server/src/entities_game_service/CMakeLists.txt b/code/ryzom/server/src/entities_game_service/CMakeLists.txt index 15e7794a4..886f5eee9 100644 --- a/code/ryzom/server/src/entities_game_service/CMakeLists.txt +++ b/code/ryzom/server/src/entities_game_service/CMakeLists.txt @@ -111,6 +111,10 @@ NL_ADD_RUNTIME_FLAGS(ryzom_entities_game_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) +IF(MSVC) + SET_TARGET_PROPERTIES(ryzom_entities_game_service PROPERTIES COMPILE_FLAGS "/bigobj") +ENDIF(MSVC) + IF(WITH_PCH AND NOT MINGW) # FIXME: PCH too large (> 130MB), crashes cc1plus under MinGW ADD_NATIVE_PRECOMPILED_HEADER(ryzom_entities_game_service ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp) ENDIF(WITH_PCH AND NOT MINGW) diff --git a/code/ryzom/server/src/shard_unifier_service/CMakeLists.txt b/code/ryzom/server/src/shard_unifier_service/CMakeLists.txt index 4ba320e09..08ca313c4 100644 --- a/code/ryzom/server/src/shard_unifier_service/CMakeLists.txt +++ b/code/ryzom/server/src/shard_unifier_service/CMakeLists.txt @@ -20,6 +20,10 @@ NL_ADD_RUNTIME_FLAGS(ryzom_shard_unifier_service) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) +IF(MSVC) + SET_TARGET_PROPERTIES(ryzom_shard_unifier_service PROPERTIES COMPILE_FLAGS "/bigobj") +ENDIF(MSVC) + IF(WITH_PCH) ADD_NATIVE_PRECOMPILED_HEADER(ryzom_shard_unifier_service ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp) ENDIF(WITH_PCH) diff --git a/code/ryzom/tools/sheets_packer_shard/CMakeLists.txt b/code/ryzom/tools/sheets_packer_shard/CMakeLists.txt index 3e9f2a17f..a16353cdd 100644 --- a/code/ryzom/tools/sheets_packer_shard/CMakeLists.txt +++ b/code/ryzom/tools/sheets_packer_shard/CMakeLists.txt @@ -12,6 +12,7 @@ ADD_EXECUTABLE(sheets_packer_shard ${SRC} ${EGSSHEETS} ${CMAKE_SOURCE_DIR}/ryzom/server/src/ai_service/sheets.h ${CMAKE_SOURCE_DIR}/ryzom/server/src/ai_service/commands_mlf.cpp) + INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/ryzom/common/src ${CMAKE_SOURCE_DIR}/ryzom/server/src ${CMAKE_SOURCE_DIR}/ryzom/tools/sheets_packer_shard ${CMAKE_SOURCE_DIR}/ryzom/server/src/entities_game_service) TARGET_LINK_LIBRARIES(sheets_packer_shard ryzom_gameshare @@ -31,4 +32,8 @@ NL_ADD_RUNTIME_FLAGS(sheets_packer_shard) ADD_DEFINITIONS(-DNO_EGS_VARS) ADD_DEFINITIONS(-DNO_AI_COMP) +IF(MSVC) + SET_TARGET_PROPERTIES(sheets_packer_shard PROPERTIES COMPILE_FLAGS "/bigobj") +ENDIF(MSVC) + INSTALL(TARGETS sheets_packer_shard RUNTIME DESTINATION ${RYZOM_BIN_PREFIX} COMPONENT tools) From cac661dbca9400a41f42f6f2cbcaeb0003faa7a6 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 10 Jul 2015 05:50:05 +0200 Subject: [PATCH 68/73] SDK 8.1 support --HG-- branch : develop --- code/CMakeModules/FindWindowsSDK.cmake | 37 +++++++++++++++++++------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/code/CMakeModules/FindWindowsSDK.cmake b/code/CMakeModules/FindWindowsSDK.cmake index 31288eb03..4b7d03f0b 100644 --- a/code/CMakeModules/FindWindowsSDK.cmake +++ b/code/CMakeModules/FindWindowsSDK.cmake @@ -37,7 +37,7 @@ MACRO(DETECT_WINSDK_VERSION _VERSION) ENDIF(NOT WINSDK${_VERSION}_FOUND) ENDMACRO(DETECT_WINSDK_VERSION) -SET(WINSDK_VERSIONS "8.0" "8.0A" "7.1" "7.1A" "7.0" "7.0A" "6.1" "6.0" "6.0A") +SET(WINSDK_VERSIONS "8.1" "8.0" "8.0A" "7.1" "7.1A" "7.0" "7.0A" "6.1" "6.0" "6.0A") SET(WINSDK_DETECTED_VERSIONS) # Search all supported Windows SDKs @@ -82,12 +82,23 @@ MACRO(FIND_WINSDK_VERSION_HEADERS) ) IF(_MSI_FILE) - # Look for Windows SDK 8.0 - FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN8") + IF(NOT WINSDK_VERSION) + # Look for Windows SDK 8.1 + FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WINBLUE") - IF(_CONTENT) - SET(WINSDK_VERSION "8.0") - ENDIF(_CONTENT) + IF(_CONTENT) + SET(WINSDK_VERSION "8.1") + ENDIF(_CONTENT) + ENDIF(NOT WINSDK_VERSION) + + IF(NOT WINSDK_VERSION) + # Look for Windows SDK 8.0 + FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN8") + + IF(_CONTENT) + SET(WINSDK_VERSION "8.0") + ENDIF(_CONTENT) + ENDIF(NOT WINSDK_VERSION) IF(NOT WINSDK_VERSION) # Look for Windows SDK 7.0 @@ -206,9 +217,9 @@ MACRO(USE_CURRENT_WINSDK) IF(NOT WINSDK_DIR) # Use Windows SDK versions installed with VC++ when possible IF(MSVC12) - SET(WINSDK_VERSION "8.1A") + SET(WINSDK_VERSION "8.1") ELSEIF(MSVC11) - SET(WINSDK_VERSION "8.0A") + SET(WINSDK_VERSION "8.0") ELSEIF(MSVC10) IF(NOT TARGET_X64 OR NOT MSVC_EXPRESS) SET(WINSDK_VERSION "7.0A") @@ -228,7 +239,11 @@ MACRO(USE_CURRENT_WINSDK) # Use installed Windows SDK IF(NOT WINSDK_VERSION) - IF(WINSDK7.1_FOUND) + IF(WINSDK8.1_FOUND) + SET(WINSDK_VERSION "8.1") + ELSEIF(WINSDK8.0_FOUND) + SET(WINSDK_VERSION "8.0") + ELSEIF(WINSDK7.1_FOUND) SET(WINSDK_VERSION "7.1") ELSEIF(WINSDK7.0_FOUND) SET(WINSDK_VERSION "7.0") @@ -286,6 +301,7 @@ FIND_PATH(WINSDK_SHARED_INCLUDE_DIR d3d9.h # directory where OpenGL headers are found FIND_PATH(WINSDK_OPENGL_INCLUDE_DIR GL.h HINTS + ${WINSDK_DIR}/Include/um/gl ${WINSDK_DIR}/Include/gl ${WINSDK_DIR}/Include ) @@ -293,6 +309,7 @@ FIND_PATH(WINSDK_OPENGL_INCLUDE_DIR GL.h # directory where all libraries are found FIND_PATH(WINSDK_LIBRARY_DIR ComCtl32.lib HINTS + ${WINSDK_DIR}/Lib/winv6.3/um/${WINSDK8_SUFFIX} ${WINSDK_DIR}/Lib/win8/um/${WINSDK8_SUFFIX} ${WINSDK_DIR}/Lib/${WINSDK_SUFFIX} ) @@ -300,6 +317,7 @@ FIND_PATH(WINSDK_LIBRARY_DIR ComCtl32.lib # signtool is used to sign executables FIND_PROGRAM(WINSDK_SIGNTOOL signtool HINTS + ${WINSDK_DIR}/Bin/${WINSDK8_SUFFIX} ${WINSDK_DIR}/Bin/x86 ${WINSDK_DIR}/Bin ) @@ -307,6 +325,7 @@ FIND_PROGRAM(WINSDK_SIGNTOOL signtool # midl is used to generate IDL interfaces FIND_PROGRAM(WINSDK_MIDL midl HINTS + ${WINSDK_DIR}/Bin/${WINSDK8_SUFFIX} ${WINSDK_DIR}/Bin/x86 ${WINSDK_DIR}/Bin ) From 9a10f1413b86078fbe892ee65e982967be32e7de Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 10 Jul 2015 06:16:19 +0200 Subject: [PATCH 69/73] Fix DXSDK include order --HG-- branch : develop --- code/CMakeModules/nel.cmake | 8 ++++++++ code/nel/CMakeLists.txt | 4 ---- code/nel/src/3d/driver/direct3d/CMakeLists.txt | 2 +- code/nel/src/3d/driver/opengl/CMakeLists.txt | 2 +- code/nel/src/3d/driver/opengles/CMakeLists.txt | 2 +- code/nel/src/misc/CMakeLists.txt | 2 +- code/nel/src/sound/driver/dsound/CMakeLists.txt | 2 +- code/nel/src/sound/driver/xaudio2/CMakeLists.txt | 2 +- .../leveldesign/georges_plugin_sound/CMakeLists.txt | 11 ----------- 9 files changed, 14 insertions(+), 21 deletions(-) diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index 70113e11b..52ee640e9 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -1147,6 +1147,14 @@ MACRO(SETUP_EXTERNAL) INCLUDE_DIRECTORIES(${STLPORT_INCLUDE_DIR}) ENDIF(WITH_STLPORT) + IF(WIN32) + # Must include DXSDK before WINSDK + FIND_PACKAGE(DirectXSDK REQUIRED) + # IF(DXSDK_INCLUDE_DIR) + # INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR}) + # ENDIF() + ENDIF(WIN32) + IF(MSVC) FIND_PACKAGE(MSVC REQUIRED) FIND_PACKAGE(WindowsSDK REQUIRED) diff --git a/code/nel/CMakeLists.txt b/code/nel/CMakeLists.txt index 16a8166fe..f283eaecb 100644 --- a/code/nel/CMakeLists.txt +++ b/code/nel/CMakeLists.txt @@ -4,11 +4,7 @@ IF(WITH_STATIC_DRIVERS) ADD_DEFINITIONS(-DNL_STATIC) ENDIF(WITH_STATIC_DRIVERS) -# On Windows we need to find DirectInput for NLMISC. -# This is how we get events. IF(WIN32) - FIND_PACKAGE(DirectXSDK REQUIRED) - # On Win32 we can also build the MAX plugins. IF(WITH_NEL_MAXPLUGIN) FIND_PACKAGE(3dsMaxSDK) diff --git a/code/nel/src/3d/driver/direct3d/CMakeLists.txt b/code/nel/src/3d/driver/direct3d/CMakeLists.txt index ccdb8cb10..b76e20f52 100644 --- a/code/nel/src/3d/driver/direct3d/CMakeLists.txt +++ b/code/nel/src/3d/driver/direct3d/CMakeLists.txt @@ -2,7 +2,7 @@ FILE(GLOB SRC *.cpp *.h *.def) NL_TARGET_DRIVER(nel_drv_direct3d_win ${SRC}) -INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR}) +INCLUDE_DIRECTORIES(BEFORE ${DXSDK_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(nel_drv_direct3d_win nel3d nelmisc ${DXSDK_D3DX9_LIBRARY} ${DXSDK_D3D9_LIBRARY} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY}) diff --git a/code/nel/src/3d/driver/opengl/CMakeLists.txt b/code/nel/src/3d/driver/opengl/CMakeLists.txt index 12e20fbb3..74f3cb78a 100644 --- a/code/nel/src/3d/driver/opengl/CMakeLists.txt +++ b/code/nel/src/3d/driver/opengl/CMakeLists.txt @@ -35,7 +35,7 @@ NL_ADD_LIB_SUFFIX(${NLDRV_OGL_LIB}) NL_ADD_RUNTIME_FLAGS(${NLDRV_OGL_LIB}) IF(WIN32) - INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR}) + INCLUDE_DIRECTORIES(BEFORE ${DXSDK_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY}) ADD_DEFINITIONS(-DDRIVER_OPENGL_EXPORTS) ENDIF(WIN32) diff --git a/code/nel/src/3d/driver/opengles/CMakeLists.txt b/code/nel/src/3d/driver/opengles/CMakeLists.txt index 74f0ddff3..e8d5a7979 100644 --- a/code/nel/src/3d/driver/opengles/CMakeLists.txt +++ b/code/nel/src/3d/driver/opengles/CMakeLists.txt @@ -38,7 +38,7 @@ NL_ADD_LIB_SUFFIX(${NLDRV_OGLES_LIB}) NL_ADD_RUNTIME_FLAGS(${NLDRV_OGLES_LIB}) IF(WIN32) - INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR}) + INCLUDE_DIRECTORIES(BEFORE ${DXSDK_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(${NLDRV_OGLES_LIB} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY}) ADD_DEFINITIONS(/DDRIVER_OPENGLES_EXPORTS) ENDIF(WIN32) diff --git a/code/nel/src/misc/CMakeLists.txt b/code/nel/src/misc/CMakeLists.txt index f40517f5b..8cdbf0fe6 100644 --- a/code/nel/src/misc/CMakeLists.txt +++ b/code/nel/src/misc/CMakeLists.txt @@ -196,7 +196,7 @@ ENDIF(WITH_STATIC OR WIN32) # For DirectInput (di_event_emitter) IF(WIN32) - INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR}) + INCLUDE_DIRECTORIES(BEFORE ${DXSDK_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(nelmisc ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY} winmm dbghelp) ENDIF(WIN32) diff --git a/code/nel/src/sound/driver/dsound/CMakeLists.txt b/code/nel/src/sound/driver/dsound/CMakeLists.txt index 74d431084..1563a871a 100644 --- a/code/nel/src/sound/driver/dsound/CMakeLists.txt +++ b/code/nel/src/sound/driver/dsound/CMakeLists.txt @@ -2,7 +2,7 @@ FILE(GLOB SRC *.cpp *.h *.def) NL_TARGET_DRIVER(nel_drv_dsound_win ${SRC}) -INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR}) +INCLUDE_DIRECTORIES(BEFORE ${DXSDK_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(nel_drv_dsound_win nelmisc nelsnd_lowlevel ${DXSDK_DSOUND_LIBRARY} ${DXSDK_GUID_LIBRARY}) NL_DEFAULT_PROPS(nel_drv_dsound_win "NeL, Driver, Sound: DirectSound") diff --git a/code/nel/src/sound/driver/xaudio2/CMakeLists.txt b/code/nel/src/sound/driver/xaudio2/CMakeLists.txt index 9113bd022..d6c1a7143 100644 --- a/code/nel/src/sound/driver/xaudio2/CMakeLists.txt +++ b/code/nel/src/sound/driver/xaudio2/CMakeLists.txt @@ -28,7 +28,7 @@ SOURCE_GROUP(efx FILES NL_TARGET_DRIVER(nel_drv_xaudio2_win ${SRC}) -INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR}) +INCLUDE_DIRECTORIES(BEFORE ${DXSDK_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(nel_drv_xaudio2_win nelmisc nelsnd_lowlevel ${DXSDK_XAUDIO_LIBRARY} ${DXSDK_GUID_LIBRARY}) diff --git a/code/ryzom/tools/leveldesign/georges_plugin_sound/CMakeLists.txt b/code/ryzom/tools/leveldesign/georges_plugin_sound/CMakeLists.txt index c88246a98..0add6656c 100644 --- a/code/ryzom/tools/leveldesign/georges_plugin_sound/CMakeLists.txt +++ b/code/ryzom/tools/leveldesign/georges_plugin_sound/CMakeLists.txt @@ -1,17 +1,6 @@ FILE(GLOB SRC *.cpp *.h) -# Bugfix... -IF (NOT DXSDK_INCLUDE_DIR) - IF (DXSDK_DIR) - SET(DXSDK_INCLUDE_DIR "${DXSDK_DIR}/Include") - ENDIF (DXSDK_DIR) -ENDIF (NOT DXSDK_INCLUDE_DIR) - -IF (NOT DXSDK_INCLUDE_DIR) - message(FATAL_ERROR "Configuration bad, cannot find DirectX include.") -ENDIF (NOT DXSDK_INCLUDE_DIR) - ADD_LIBRARY(georges_plugin_sound SHARED ${SRC}) INCLUDE_DIRECTORIES(georges_plugin_sound ${NEL_INCLUDE_DIR} ${DXSDK_INCLUDE_DIR}) From edebe18d6c54ab456ebe1817e3f6a6f7a7f341ef Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 10 Jul 2015 06:24:17 +0200 Subject: [PATCH 70/73] MFC now requires XP or higher --HG-- branch : develop --- code/nel/tools/3d/object_viewer/std_afx.h | 2 +- code/nel/tools/3d/object_viewer_exe/std_afx.h | 3 ++- code/nel/tools/logic/logic_editor_dll/StdAfx.h | 2 +- code/nel/tools/misc/branch_patcher/StdAfx.h | 2 ++ code/nel/tools/misc/data_mirror/StdAfx.h | 2 ++ code/nel/tools/misc/log_analyser/StdAfx.h | 2 ++ code/nel/tools/misc/words_dic/StdAfx.h | 2 ++ code/ryzom/tools/leveldesign/georges_dll/stdafx.h | 2 +- .../tools/leveldesign/georges_plugin_sound/std_sound_plugin.h | 2 +- code/ryzom/tools/leveldesign/mission_compiler_fe/StdAfx.h | 2 +- .../ryzom/tools/leveldesign/world_editor/world_editor/stdafx.h | 2 +- .../world_editor/world_editor_fauna_graph_plugin/StdAfx.h | 2 +- .../world_editor/world_editor_graph_plugin/StdAfx.h | 2 +- .../world_editor_primitive_plugin/primitive_plugin.h | 2 ++ .../world_editor/world_editor_shard_monitor_plugin/StdAfx.h | 2 +- .../world_editor/world_editor_sound_plugin/StdAfx.h | 2 +- 16 files changed, 22 insertions(+), 11 deletions(-) diff --git a/code/nel/tools/3d/object_viewer/std_afx.h b/code/nel/tools/3d/object_viewer/std_afx.h index 26839edd2..0cf664508 100644 --- a/code/nel/tools/3d/object_viewer/std_afx.h +++ b/code/nel/tools/3d/object_viewer/std_afx.h @@ -23,8 +23,8 @@ #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers - #define NOMINMAX +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/nel/tools/3d/object_viewer_exe/std_afx.h b/code/nel/tools/3d/object_viewer_exe/std_afx.h index d083067e7..953342427 100644 --- a/code/nel/tools/3d/object_viewer_exe/std_afx.h +++ b/code/nel/tools/3d/object_viewer_exe/std_afx.h @@ -23,8 +23,9 @@ #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers - #define NOMINMAX +#define _WIN32_WINNT 0x0501 + #include #endif diff --git a/code/nel/tools/logic/logic_editor_dll/StdAfx.h b/code/nel/tools/logic/logic_editor_dll/StdAfx.h index 5b5e991ce..7aec1acb4 100644 --- a/code/nel/tools/logic/logic_editor_dll/StdAfx.h +++ b/code/nel/tools/logic/logic_editor_dll/StdAfx.h @@ -11,8 +11,8 @@ #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers - #define NOMINMAX +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/nel/tools/misc/branch_patcher/StdAfx.h b/code/nel/tools/misc/branch_patcher/StdAfx.h index d9bd15ce4..b85f337a0 100644 --- a/code/nel/tools/misc/branch_patcher/StdAfx.h +++ b/code/nel/tools/misc/branch_patcher/StdAfx.h @@ -22,6 +22,8 @@ #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers +#define NOMINMAX +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/nel/tools/misc/data_mirror/StdAfx.h b/code/nel/tools/misc/data_mirror/StdAfx.h index a065be4ed..697fe2127 100644 --- a/code/nel/tools/misc/data_mirror/StdAfx.h +++ b/code/nel/tools/misc/data_mirror/StdAfx.h @@ -11,6 +11,8 @@ #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers +#define NOMINMAX +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/nel/tools/misc/log_analyser/StdAfx.h b/code/nel/tools/misc/log_analyser/StdAfx.h index dc6dd46cf..7fdcd1587 100644 --- a/code/nel/tools/misc/log_analyser/StdAfx.h +++ b/code/nel/tools/misc/log_analyser/StdAfx.h @@ -27,6 +27,8 @@ #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers +#define NOMINMAX +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/nel/tools/misc/words_dic/StdAfx.h b/code/nel/tools/misc/words_dic/StdAfx.h index 5cc2d3e5b..9290bdfce 100644 --- a/code/nel/tools/misc/words_dic/StdAfx.h +++ b/code/nel/tools/misc/words_dic/StdAfx.h @@ -22,6 +22,8 @@ #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers +#define NOMINMAX +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/ryzom/tools/leveldesign/georges_dll/stdafx.h b/code/ryzom/tools/leveldesign/georges_dll/stdafx.h index b5d7d2705..3ed671a13 100644 --- a/code/ryzom/tools/leveldesign/georges_dll/stdafx.h +++ b/code/ryzom/tools/leveldesign/georges_dll/stdafx.h @@ -27,7 +27,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/ryzom/tools/leveldesign/georges_plugin_sound/std_sound_plugin.h b/code/ryzom/tools/leveldesign/georges_plugin_sound/std_sound_plugin.h index 9122d1f49..8fb65c948 100644 --- a/code/ryzom/tools/leveldesign/georges_plugin_sound/std_sound_plugin.h +++ b/code/ryzom/tools/leveldesign/georges_plugin_sound/std_sound_plugin.h @@ -19,7 +19,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/ryzom/tools/leveldesign/mission_compiler_fe/StdAfx.h b/code/ryzom/tools/leveldesign/mission_compiler_fe/StdAfx.h index 3732ca0f8..b8693c571 100644 --- a/code/ryzom/tools/leveldesign/mission_compiler_fe/StdAfx.h +++ b/code/ryzom/tools/leveldesign/mission_compiler_fe/StdAfx.h @@ -28,7 +28,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor/stdafx.h b/code/ryzom/tools/leveldesign/world_editor/world_editor/stdafx.h index d57756cb8..c8b41e3fd 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor/stdafx.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor/stdafx.h @@ -26,7 +26,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/StdAfx.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/StdAfx.h index ce6eca86c..58043f752 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/StdAfx.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_fauna_graph_plugin/StdAfx.h @@ -28,7 +28,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/StdAfx.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/StdAfx.h index 1d240ae08..9beea91c6 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/StdAfx.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/StdAfx.h @@ -28,7 +28,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h index 104f9d007..8b452cd80 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_primitive_plugin/primitive_plugin.h @@ -18,6 +18,8 @@ #define PRIMITIVE_PLUGIN_H #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers +#define NOMINMAX +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/StdAfx.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/StdAfx.h index 9b8256d5e..c62c05e5b 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/StdAfx.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_shard_monitor_plugin/StdAfx.h @@ -30,7 +30,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/StdAfx.h b/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/StdAfx.h index 23a0b70ad..33e78a8b1 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/StdAfx.h +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_sound_plugin/StdAfx.h @@ -30,7 +30,7 @@ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #define NOMINMAX -#define _WIN32_WINNT 0x0500 +#define _WIN32_WINNT 0x0501 #include // MFC core and standard components #include // MFC extensions From 5e428761c53f68dd9098bab4a7764391fe5a9fe3 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 10 Jul 2015 06:30:20 +0200 Subject: [PATCH 71/73] Fix freetype include order WINSDK added a fttypes.h header... --HG-- branch : develop --- code/nel/src/3d/CMakeLists.txt | 3 ++- code/nel/src/cegui/CMakeLists.txt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/nel/src/3d/CMakeLists.txt b/code/nel/src/3d/CMakeLists.txt index 21184eb12..0082c22d5 100644 --- a/code/nel/src/3d/CMakeLists.txt +++ b/code/nel/src/3d/CMakeLists.txt @@ -715,7 +715,8 @@ SOURCE_GROUP(Stereo FILES NL_TARGET_LIB(nel3d ${HEADERS} ${SRC}) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS} ${LIBOVR_INCLUDE_DIR} ${LIBVR_INCLUDE_DIR}) +INCLUDE_DIRECTORIES(BEFORE ${FREETYPE_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${LIBOVR_INCLUDE_DIR} ${LIBVR_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(nel3d nelmisc ${FREETYPE_LIBRARIES} ${LIBOVR_LIBRARIES} ${LIBVR_LIBRARY}) SET_TARGET_PROPERTIES(nel3d PROPERTIES LINK_INTERFACE_LIBRARIES "") diff --git a/code/nel/src/cegui/CMakeLists.txt b/code/nel/src/cegui/CMakeLists.txt index b815eb139..20fbb60d8 100644 --- a/code/nel/src/cegui/CMakeLists.txt +++ b/code/nel/src/cegui/CMakeLists.txt @@ -3,7 +3,8 @@ FILE(GLOB HEADERS ../../include/nel/cegui/*.h) ADD_LIBRARY(nelceguirenderer SHARED ${HEADERS} ${SRC} nelceguirenderer.def) -INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INC} ${CEGUI_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(BEFORE ${FREETYPE_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${CEGUI_INCLUDE_DIRS}) TARGET_LINK_LIBRARIES(nelceguirenderer nelmisc nel3d ${CEGUI_LIBRARY}) NL_DEFAULT_PROPS(nelceguirenderer "NeL, Library: CEGUI Renderer") NL_ADD_RUNTIME_FLAGS(nelceguirenderer) From 96116c6ebaecd97d487a679eb29d8398efee19f9 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 10 Jul 2015 06:33:14 +0200 Subject: [PATCH 72/73] Todo note --HG-- branch : develop --- code/CMakeModules/FindWindowsSDK.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/CMakeModules/FindWindowsSDK.cmake b/code/CMakeModules/FindWindowsSDK.cmake index 4b7d03f0b..dbcb48931 100644 --- a/code/CMakeModules/FindWindowsSDK.cmake +++ b/code/CMakeModules/FindWindowsSDK.cmake @@ -37,7 +37,7 @@ MACRO(DETECT_WINSDK_VERSION _VERSION) ENDIF(NOT WINSDK${_VERSION}_FOUND) ENDMACRO(DETECT_WINSDK_VERSION) -SET(WINSDK_VERSIONS "8.1" "8.0" "8.0A" "7.1" "7.1A" "7.0" "7.0A" "6.1" "6.0" "6.0A") +SET(WINSDK_VERSIONS "8.1" "8.0" "7.1" "7.1A" "7.0" "7.0A" "6.1" "6.0" "6.0A") SET(WINSDK_DETECTED_VERSIONS) # Search all supported Windows SDKs @@ -334,7 +334,7 @@ IF(WINSDK_INCLUDE_DIR) SET(WINSDK_FOUND ON) SET(WINSDK_INCLUDE_DIRS ${WINSDK_INCLUDE_DIR} ${WINSDK_SHARED_INCLUDE_DIR} ${WINSDK_OPENGL_INCLUDE_DIR}) SET(CMAKE_LIBRARY_PATH ${WINSDK_LIBRARY_DIR} ${CMAKE_LIBRARY_PATH}) - INCLUDE_DIRECTORIES(${WINSDK_INCLUDE_DIRS}) + INCLUDE_DIRECTORIES(${WINSDK_INCLUDE_DIRS}) # TODO: Move this after all other includes somehow... # Fix for using Windows SDK 7.1 with Visual C++ 2012 IF(WINSDK_VERSION STREQUAL "7.1" AND MSVC11) From 7d53552979835951ef73c988ecf20326c89c25a8 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 10 Jul 2015 07:54:34 +0200 Subject: [PATCH 73/73] Fix object viewer include issue --HG-- branch : develop --- code/nel/src/3d/font_generator.cpp | 5 ++++- code/nel/tools/3d/object_viewer/object_viewer.cpp | 9 +++++++-- code/nel/tools/3d/object_viewer/particle_dlg.cpp | 1 - 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/code/nel/src/3d/font_generator.cpp b/code/nel/src/3d/font_generator.cpp index 3c73a0a20..21453ba82 100644 --- a/code/nel/src/3d/font_generator.cpp +++ b/code/nel/src/3d/font_generator.cpp @@ -76,7 +76,10 @@ const char *CFontGenerator::getFT2Error(FT_Error fte) return ukn; } - +CFontGenerator *newCFontGenerator(const std::string &fontFileName) +{ + return new CFontGenerator(fontFileName); +} /* * Constructor diff --git a/code/nel/tools/3d/object_viewer/object_viewer.cpp b/code/nel/tools/3d/object_viewer/object_viewer.cpp index d79090662..c6f163146 100644 --- a/code/nel/tools/3d/object_viewer/object_viewer.cpp +++ b/code/nel/tools/3d/object_viewer/object_viewer.cpp @@ -36,7 +36,6 @@ #include "nel/3d/scene_group.h" #include "nel/3d/animation_playlist.h" #include "nel/3d/track_keyframer.h" -#include "nel/3d/font_generator.h" #include "nel/3d/register_3d.h" #include "nel/3d/seg_remanence.h" @@ -592,6 +591,12 @@ void CObjectViewer::initCamera () // *************************************************************************** +namespace NL3D { + CFontGenerator *newCFontGenerator(const std::string &fontFileName); +} + +// *************************************************************************** + bool CObjectViewer::initUI (HWND parent) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); @@ -616,7 +621,7 @@ bool CObjectViewer::initUI (HWND parent) _FontPath+="\\fonts\\arial.ttf"; // The font generator - _FontGenerator = new NL3D::CFontGenerator ( _FontPath ); + _FontGenerator = NL3D::newCFontGenerator ( _FontPath ); delete[] wd; // The viewport diff --git a/code/nel/tools/3d/object_viewer/particle_dlg.cpp b/code/nel/tools/3d/object_viewer/particle_dlg.cpp index 7ee628da4..f56bfa1dd 100644 --- a/code/nel/tools/3d/object_viewer/particle_dlg.cpp +++ b/code/nel/tools/3d/object_viewer/particle_dlg.cpp @@ -44,7 +44,6 @@ #include "nel/3d/texture_grouped.h" #include "nel/3d/nelu.h" #include "nel/3d/font_manager.h" -#include "nel/3d/font_generator.h" // #include "nel/misc/file.h" #include "start_stop_particle_system.h"