Changed: Support special bundle structure for OS X client

This commit is contained in:
kervala 2016-10-09 19:50:06 +02:00
parent d9e8c9bb13
commit e58e7436e4
2 changed files with 18 additions and 1 deletions

View file

@ -593,6 +593,11 @@ bool CConfigFile::areRyzomDataInstalledIn(const QString &directory) const
QDir dir(directory);
#ifdef Q_OS_MAC
// under OS X, data are in Ryzom.app/Contents/Resources
if (!dir.cd("Ryzom.app") || !dir.cd("Contents") || !dir.cd("Resources")) return false;
#endif
// directory doesn't exist
if (!dir.exists()) return false;
@ -643,6 +648,11 @@ bool CConfigFile::isRyzomClientInstalledIn(const QString &directory) const
{
// client 3.0+
#ifdef Q_OS_MAC
// under OS X, client_default.cfg is in Ryzom.app/Contents/Resources
if (!dir.cd("Ryzom.app") || !dir.cd("Contents") || !dir.cd("Resources")) return false;
#endif
// client_default.cfg doesn't exist
if (!dir.exists("client_default.cfg")) return false;

View file

@ -547,9 +547,16 @@ void COperationDialog::extractDownloadedData()
m_currentOperation = tr("Extracting data required by server %1...").arg(server.name);
QString dest = server.getDirectory();
#ifdef Q_OS_MAC
// under OS X, data should be uncompressed in Ryzom.app/Contents/Resources
dest += "/Ryzom.app/Contents/Resources";
#endif
CFilesExtractor extractor(this);
extractor.setSourceFile(config->getInstallationDirectory() + "/" + server.dataDownloadFilename);
extractor.setDestinationDirectory(server.getDirectory());
extractor.setDestinationDirectory(dest);
if (extractor.exec())
{