Merge with develop

--HG--
branch : compatibility-develop
This commit is contained in:
kervala 2016-06-07 13:32:06 +02:00
commit 65e48df782
11 changed files with 129 additions and 39 deletions

View file

@ -366,19 +366,34 @@ FIND_PATH(WINSDK_LIBRARY_DIR ComCtl32.lib
) )
IF(WINSDK_UCRT_DIR) IF(WINSDK_UCRT_DIR)
# directory where UCRT headers are found # determine exact UCRT version
FIND_PATH(WINSDK_UCRT_INCLUDE_DIR corecrt.h SET(WINSDK_UCRT_INCLUDE_ROOT_DIR ${WINSDK_UCRT_DIR}/Include)
HINTS SET(WINSDK_UCRT_LIB_ROOT_DIR ${WINSDK_UCRT_DIR}/Lib)
${WINSDK_UCRT_DIR}/Include/10.0.10056.0/ucrt
${WINSDK_UCRT_DIR}/Include/10.0.10150.0/ucrt
)
# directory where UCRT libraries are found FILE(GLOB UCRT_SUBDIRS RELATIVE ${WINSDK_UCRT_INCLUDE_ROOT_DIR} ${WINSDK_UCRT_INCLUDE_ROOT_DIR}/*)
FIND_PATH(WINSDK_UCRT_LIBRARY_DIR ucrt.lib SET(UCRT_VERSION)
HINTS
${WINSDK_UCRT_DIR}/Lib/10.0.10056.0/ucrt/${WINSDK8_SUFFIX} FOREACH(UCRT_SUBDIR ${UCRT_SUBDIRS})
${WINSDK_UCRT_DIR}/Lib/10.0.10150.0/ucrt/${WINSDK8_SUFFIX} IF(NOT UCRT_VERSION OR UCRT_SUBDIR VERSION_GREATER UCRT_VERSION)
) SET(UCRT_VERSION ${UCRT_SUBDIR})
ENDIF()
ENDFOREACH()
IF(UCRT_VERSION)
MESSAGE(STATUS "Using Windows UCRT ${UCRT_VERSION}")
# directory where UCRT headers are found
FIND_PATH(WINSDK_UCRT_INCLUDE_DIR corecrt.h
HINTS
${WINSDK_UCRT_INCLUDE_ROOT_DIR}/${UCRT_VERSION}/ucrt
)
# directory where UCRT libraries are found
FIND_PATH(WINSDK_UCRT_LIBRARY_DIR ucrt.lib
HINTS
${WINSDK_UCRT_LIB_ROOT_DIR}/${UCRT_VERSION}/ucrt/${WINSDK8_SUFFIX}
)
ENDIF()
ENDIF() ENDIF()
# signtool is used to sign executables # signtool is used to sign executables

View file

@ -821,7 +821,10 @@ void initLog()
AssertLog->addDisplayer (ClientLogDisplayer); AssertLog->addDisplayer (ClientLogDisplayer);
// Display the client version. // Display the client version.
nlinfo("RYZOM VERSION : %s", getDebugVersion().c_str()); nlinfo("RYZOM VERSION: %s", getDebugVersion().c_str());
nlinfo("Memory: %s/%s", bytesToHumanReadable(CSystemInfo::availablePhysicalMemory()).c_str(), bytesToHumanReadable(CSystemInfo::totalPhysicalMemory()).c_str());
nlinfo("OS: %s", CSystemInfo::getOS().c_str());
nlinfo("Processor: %s", CSystemInfo::getProc().c_str());
#ifdef NL_OS_MAC #ifdef NL_OS_MAC
struct rlimit rlp, rlp2, rlp3; struct rlimit rlp, rlp2, rlp3;

View file

@ -1,5 +1,5 @@
/* 7zMain.c - Test application for 7z Decoder /* 7zMain.c - Test application for 7z Decoder
2015-08-02 : Igor Pavlov : Public domain */ 2016-05-16 : Igor Pavlov : Public domain */
#include "Precomp.h" #include "Precomp.h"
@ -310,10 +310,10 @@ static void ConvertFileTimeToString(const CNtfsFileTime *nt, char *s)
ms[1] = 29; ms[1] = 29;
for (mon = 0;; mon++) for (mon = 0;; mon++)
{ {
unsigned s = ms[mon]; unsigned d = ms[mon];
if (v < s) if (v < d)
break; break;
v -= s; v -= d;
} }
s = UIntToStr(s, year, 4); *s++ = '-'; s = UIntToStr(s, year, 4); *s++ = '-';
UIntToStr_2(s, mon + 1); s[2] = '-'; s += 3; UIntToStr_2(s, mon + 1); s[2] = '-'; s += 3;

View file

@ -1,9 +1,9 @@
#define MY_VER_MAJOR 16 #define MY_VER_MAJOR 16
#define MY_VER_MINOR 00 #define MY_VER_MINOR 02
#define MY_VER_BUILD 0 #define MY_VER_BUILD 0
#define MY_VERSION_NUMBERS "16.00" #define MY_VERSION_NUMBERS "16.02"
#define MY_VERSION "16.00" #define MY_VERSION "16.02"
#define MY_DATE "2016-05-10" #define MY_DATE "2016-05-21"
#undef MY_COPYRIGHT #undef MY_COPYRIGHT
#undef MY_VERSION_COPYRIGHT_DATE #undef MY_VERSION_COPYRIGHT_DATE
#define MY_AUTHOR_NAME "Igor Pavlov" #define MY_AUTHOR_NAME "Igor Pavlov"

View file

@ -1,5 +1,5 @@
/* Ppmd.h -- PPMD codec common code /* Ppmd.h -- PPMD codec common code
2013-01-18 : Igor Pavlov : Public domain 2016-05-16 : Igor Pavlov : Public domain
This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */ This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
#ifndef __PPMD_H #ifndef __PPMD_H
@ -77,8 +77,8 @@ typedef
CPpmd_Byte_Ref; CPpmd_Byte_Ref;
#define PPMD_SetAllBitsIn256Bytes(p) \ #define PPMD_SetAllBitsIn256Bytes(p) \
{ unsigned i; for (i = 0; i < 256 / sizeof(p[0]); i += 8) { \ { unsigned z; for (z = 0; z < 256 / sizeof(p[0]); z += 8) { \
p[i+7] = p[i+6] = p[i+5] = p[i+4] = p[i+3] = p[i+2] = p[i+1] = p[i+0] = ~(size_t)0; }} p[z+7] = p[z+6] = p[z+5] = p[z+4] = p[z+3] = p[z+2] = p[z+1] = p[z+0] = ~(size_t)0; }}
EXTERN_C_END EXTERN_C_END

View file

@ -1,5 +1,5 @@
/* Ppmd7.h -- PPMdH compression codec /* Ppmd7.h -- PPMdH compression codec
2010-03-12 : Igor Pavlov : Public domain 2016-05-21 : Igor Pavlov : Public domain
This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */ This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
/* This code supports virtual RangeDecoder and includes the implementation /* This code supports virtual RangeDecoder and includes the implementation
@ -86,10 +86,10 @@ void Ppmd7_Update2(CPpmd7 *p);
void Ppmd7_UpdateBin(CPpmd7 *p); void Ppmd7_UpdateBin(CPpmd7 *p);
#define Ppmd7_GetBinSumm(p) \ #define Ppmd7_GetBinSumm(p) \
&p->BinSumm[Ppmd7Context_OneState(p->MinContext)->Freq - 1][p->PrevSuccess + \ &p->BinSumm[(unsigned)Ppmd7Context_OneState(p->MinContext)->Freq - 1][p->PrevSuccess + \
p->NS2BSIndx[Ppmd7_GetContext(p, p->MinContext->Suffix)->NumStats - 1] + \ p->NS2BSIndx[Ppmd7_GetContext(p, p->MinContext->Suffix)->NumStats - 1] + \
(p->HiBitsFlag = p->HB2Flag[p->FoundState->Symbol]) + \ (p->HiBitsFlag = p->HB2Flag[p->FoundState->Symbol]) + \
2 * p->HB2Flag[Ppmd7Context_OneState(p->MinContext)->Symbol] + \ 2 * p->HB2Flag[(unsigned)Ppmd7Context_OneState(p->MinContext)->Symbol] + \
((p->RunLength >> 26) & 0x20)] ((p->RunLength >> 26) & 0x20)]
CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *scale); CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *scale);

View file

@ -27,6 +27,8 @@
#include "nel/misc/common.h" #include "nel/misc/common.h"
#include <limits>
namespace CLFECOMMON { namespace CLFECOMMON {
@ -230,7 +232,7 @@ const uint MAX_PROPERTIES_PER_ENTITY = NB_VISUAL_PROPERTIES;
// Special constant for unassociating // Special constant for unassociating
const TPropIndex PROPERTY_DISASSOCIATION = (TPropIndex)(~0)-1; const TPropIndex PROPERTY_DISASSOCIATION = std::numeric_limits<TPropIndex>::max()-1;
// Names (debug info) // Names (debug info)
@ -399,13 +401,13 @@ public:
bool BranchHasPayload; bool BranchHasPayload;
/// Constructor /// Constructor
TVPNodeBase() : VPParent(NULL), VPA(NULL), VPB(NULL), PropIndex(~0), BranchHasPayload(false) {} TVPNodeBase() : VPParent(NULL), VPA(NULL), VPB(NULL), PropIndex(std::numeric_limits<TPropIndex>::max()), BranchHasPayload(false) {}
virtual ~TVPNodeBase() {} virtual ~TVPNodeBase() {}
/// Return true if the node is root of a tree /// Return true if the node is root of a tree
bool isRoot() const { return VPParent == NULL; } bool isRoot() const { return VPParent == NULL; }
/// Return true if the node is leaf of a tree /// Return true if the node is leaf of a tree
bool isLeaf() const { return PropIndex != (CLFECOMMON::TPropIndex)~0; } bool isLeaf() const { return PropIndex != std::numeric_limits<TPropIndex>::max(); }
/// Return the level of the node in a tree (root=1) /// Return the level of the node in a tree (root=1)
uint getLevel() const uint getLevel() const

View file

@ -60,6 +60,8 @@ int main(int argc, char *argv[])
QApplication::setApplicationVersion(RYZOM_VERSION); QApplication::setApplicationVersion(RYZOM_VERSION);
QApplication::setWindowIcon(QIcon(":/icons/ryzom.ico")); QApplication::setWindowIcon(QIcon(":/icons/ryzom.ico"));
// TODO: if not launched from TEMP dir, copy files to TEMP, restart it and exit
QLocale locale = QLocale::system(); QLocale locale = QLocale::system();
// load application translations // load application translations

View file

@ -668,45 +668,109 @@ bool COperationDialog::createAddRemoveEntry()
return true; return true;
} }
bool COperationDialog::deleteAddRemoveEntry()
{
#ifdef Q_OS_WIN
QSettings settings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Ryzom", QSettings::NativeFormat);
settings.remove("");
#endif
emit done();
return true;
}
void COperationDialog::deleteComponentsServers() void COperationDialog::deleteComponentsServers()
{ {
m_currentOperation = QApplication::tr("Delete client files"); m_currentOperation = QApplication::tr("Delete client files");
m_currentOperationProgressFormat = QApplication::tr("Deleting %1..."); m_currentOperationProgressFormat = QApplication::tr("Deleting %1...");
// connect(m_downloader, SIGNAL(downloadPrepare()), SLOT(onProgressPrepare())); emit prepare();
// connect(m_downloader, SIGNAL(downloadInit(qint64, qint64)), SLOT(onProgressInit(qint64, qint64))); emit init(0, m_components.servers.size());
// connect(m_downloader, SIGNAL(downloadStart()), SLOT(onProgressStart())); emit start();
// connect(m_downloader, SIGNAL(downloadStop()), SLOT(onProgressStop()));
// connect(m_downloader, SIGNAL(downloadProgress(qint64, QString)), SLOT(onProgressProgress(qint64, QString)));
CConfigFile *config = CConfigFile::getInstance(); CConfigFile *config = CConfigFile::getInstance();
int i = 0;
foreach(int serverIndex, m_components.servers) foreach(int serverIndex, m_components.servers)
{ {
if (operationShouldStop())
{
emit stop();
return;
}
const CServer &server = config->getServer(serverIndex); const CServer &server = config->getServer(serverIndex);
emit progress(i++, server.name);
QString path = config->getInstallationDirectory() + "/" + server.id; QString path = config->getInstallationDirectory() + "/" + server.id;
QDir dir(path); QDir dir(path);
if (!dir.exists() || !dir.removeRecursively()) if (dir.exists() && !dir.removeRecursively())
{ {
emit onProgressFail(tr("Uninstall to delete files for client %1").arg(server.name)); emit fail(tr("Unable to delete files for client %1").arg(server.name));
return;
} }
} }
emit onProgressSuccess(m_components.servers.size()); emit success(m_components.servers.size());
emit done(); emit done();
} }
void COperationDialog::deleteComponentsProfiles() void COperationDialog::deleteComponentsProfiles()
{ {
m_currentOperation = QApplication::tr("Delete profiles");
m_currentOperationProgressFormat = QApplication::tr("Deleting profile %1...");
emit prepare();
emit init(0, m_components.servers.size());
CConfigFile *config = CConfigFile::getInstance();
int i = 0;
foreach(int profileIndex, m_components.profiles)
{
if (operationShouldStop())
{
emit stop();
return;
}
const CProfile &profile = config->getProfile(profileIndex);
emit progress(i++, profile.name);
QString path = config->getProfileDirectory() + "/" + profile.id;
QDir dir(path);
if (dir.exists() && !dir.removeRecursively())
{
emit fail(tr("Unable to delete files for profile %1").arg(profile.name));
return;
}
}
emit success(m_components.servers.size());
emit done(); emit done();
} }
void COperationDialog::deleteComponentsInstaller() void COperationDialog::deleteComponentsInstaller()
{ {
m_currentOperation = QApplication::tr("Delete installer");
m_currentOperationProgressFormat = QApplication::tr("Deleting %1...");
CConfigFile *config = CConfigFile::getInstance();
// TODO: delete installer
deleteAddRemoveEntry();
emit onProgressSuccess(m_components.servers.size());
emit done(); emit done();
} }

View file

@ -107,6 +107,7 @@ protected:
bool createDefaultProfile(); bool createDefaultProfile();
bool createDefaultShortcuts(); bool createDefaultShortcuts();
bool createAddRemoveEntry(); bool createAddRemoveEntry();
bool deleteAddRemoveEntry();
void deleteComponentsServers(); void deleteComponentsServers();
void deleteComponentsProfiles(); void deleteComponentsProfiles();
void deleteComponentsInstaller(); void deleteComponentsInstaller();

View file

@ -18,6 +18,7 @@
#include "profilesdialog.h" #include "profilesdialog.h"
#include "profilesmodel.h" #include "profilesmodel.h"
#include "serversmodel.h" #include "serversmodel.h"
#include "operationdialog.h"
#ifdef DEBUG_NEW #ifdef DEBUG_NEW
#define new DEBUG_NEW #define new DEBUG_NEW
@ -133,6 +134,8 @@ void CProfilesDialog::deleteProfile(int index)
if (index < 0) return; if (index < 0) return;
m_model->removeRow(index); m_model->removeRow(index);
COperationDialog dialog;
} }
void CProfilesDialog::addProfile() void CProfilesDialog::addProfile()