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)
# determine exact UCRT version
SET(WINSDK_UCRT_INCLUDE_ROOT_DIR ${WINSDK_UCRT_DIR}/Include)
SET(WINSDK_UCRT_LIB_ROOT_DIR ${WINSDK_UCRT_DIR}/Lib)
FILE(GLOB UCRT_SUBDIRS RELATIVE ${WINSDK_UCRT_INCLUDE_ROOT_DIR} ${WINSDK_UCRT_INCLUDE_ROOT_DIR}/*)
SET(UCRT_VERSION)
FOREACH(UCRT_SUBDIR ${UCRT_SUBDIRS})
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_DIR}/Include/10.0.10056.0/ucrt
${WINSDK_UCRT_DIR}/Include/10.0.10150.0/ucrt
${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_DIR}/Lib/10.0.10056.0/ucrt/${WINSDK8_SUFFIX}
${WINSDK_UCRT_DIR}/Lib/10.0.10150.0/ucrt/${WINSDK8_SUFFIX}
${WINSDK_UCRT_LIB_ROOT_DIR}/${UCRT_VERSION}/ucrt/${WINSDK8_SUFFIX}
)
ENDIF()
ENDIF()
# signtool is used to sign executables

View file

@ -821,7 +821,10 @@ void initLog()
AssertLog->addDisplayer (ClientLogDisplayer);
// 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
struct rlimit rlp, rlp2, rlp3;

View file

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

View file

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

View file

@ -1,5 +1,5 @@
/* 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 */
#ifndef __PPMD_H
@ -77,8 +77,8 @@ typedef
CPpmd_Byte_Ref;
#define PPMD_SetAllBitsIn256Bytes(p) \
{ unsigned i; for (i = 0; i < 256 / sizeof(p[0]); i += 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; }}
{ unsigned z; for (z = 0; z < 256 / sizeof(p[0]); z += 8) { \
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

View file

@ -1,5 +1,5 @@
/* 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 supports virtual RangeDecoder and includes the implementation
@ -86,10 +86,10 @@ void Ppmd7_Update2(CPpmd7 *p);
void Ppmd7_UpdateBin(CPpmd7 *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->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)]
CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *scale);

View file

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

View file

@ -60,6 +60,8 @@ int main(int argc, char *argv[])
QApplication::setApplicationVersion(RYZOM_VERSION);
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();
// load application translations

View file

@ -668,45 +668,109 @@ bool COperationDialog::createAddRemoveEntry()
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()
{
m_currentOperation = QApplication::tr("Delete client files");
m_currentOperationProgressFormat = QApplication::tr("Deleting %1...");
// connect(m_downloader, SIGNAL(downloadPrepare()), SLOT(onProgressPrepare()));
// connect(m_downloader, SIGNAL(downloadInit(qint64, qint64)), SLOT(onProgressInit(qint64, qint64)));
// connect(m_downloader, SIGNAL(downloadStart()), SLOT(onProgressStart()));
// connect(m_downloader, SIGNAL(downloadStop()), SLOT(onProgressStop()));
// connect(m_downloader, SIGNAL(downloadProgress(qint64, QString)), SLOT(onProgressProgress(qint64, QString)));
emit prepare();
emit init(0, m_components.servers.size());
emit start();
CConfigFile *config = CConfigFile::getInstance();
int i = 0;
foreach(int serverIndex, m_components.servers)
{
if (operationShouldStop())
{
emit stop();
return;
}
const CServer &server = config->getServer(serverIndex);
emit progress(i++, server.name);
QString path = config->getInstallationDirectory() + "/" + server.id;
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();
}
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();
}
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();
}

View file

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

View file

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