Merge with develop

--HG--
branch : compatibility-develop
This commit is contained in:
kervala 2016-03-12 14:49:35 +01:00
commit 992b624d4c
4 changed files with 59 additions and 20 deletions

View file

@ -31,6 +31,10 @@
#include <QtGui>
#include <QMessageBox>
#include "nel/misc/cmd_args.h"
extern NLMISC::CCmdArgs Args;
CClientConfigDialog::CClientConfigDialog( QWidget *parent ) :
QDialog( parent )
{
@ -145,15 +149,28 @@ void CClientConfigDialog::onClickPlay()
{
bool started = false;
QStringList arguments;
if (Args.haveArg("p"))
{
arguments << "-p" << QString::fromUtf8(Args.getArg("p").front().c_str());
}
QString clientFullPath = QString::fromUtf8(Args.getProgramPath().c_str());
#ifdef Q_OS_WIN32
started = QProcess::startDetached( "ryzom_client_r.exe" );
if( !started )
QProcess::startDetached( "ryzom_client_d.exe" );
#elif defined(Q_OS_MAC)
started = QProcess::startDetached( "./Ryzom.app" );
#ifdef _DEBUG
clientFullPath += "ryzom_client_d.exe";
#else
started = QProcess::startDetached( "./ryzom_client" );
clientFullPath += "ryzom_client_r.exe";
#endif
#elif defined(Q_OS_MAC)
clientFullPath += "Ryzom";
#else
clientFullPath += "ryzom_client";
#endif
started = QProcess::startDetached(clientFullPath, arguments);
onClickOK();
}

View file

@ -90,10 +90,10 @@ void CDisplaySettingsWidget::load()
windowedRadioButton->setChecked( true );
}
widthLineEdit->setText( QString( "%1" ).arg( mode.width ) );
heightLineEdit->setText( QString( "%1" ).arg( mode.height ) );
xpositionLineEdit->setText( QString( "%1" ).arg( s.config.getInt( "PositionX" ) ) );
ypositionLineEdit->setText( QString( "%1" ).arg( s.config.getInt( "PositionY" ) ) );
widthLineEdit->setText(QString::number(mode.width));
heightLineEdit->setText(QString::number(mode.height));
xpositionLineEdit->setText(QString::number(s.config.getInt("PositionX")));
ypositionLineEdit->setText(QString::number(s.config.getInt("PositionY")));
}
@ -166,7 +166,18 @@ void CDisplaySettingsWidget::updateVideoModes()
while(itr != iend)
{
videomodeComboBox->addItem(QString("%1x%2 %3 bit @%4").arg(itr->width).arg(itr->height).arg(itr->depth).arg(itr->frequency));
if (itr->frequency)
{
videomodeComboBox->addItem(QString("%1x%2 %3 bit @%4").arg(itr->width).arg(itr->height).arg(itr->depth).arg(itr->frequency));
}
else if (itr->width)
{
videomodeComboBox->addItem(QString("%1x%2 %3 bit").arg(itr->width).arg(itr->height).arg(itr->depth));
}
else
{
videomodeComboBox->addItem(tr("Auto"));
}
++itr;
}
@ -183,7 +194,7 @@ uint32 CDisplaySettingsWidget::findVideoModeIndex( CVideoMode *mode )
//| --------------------------------------|
//| Auto | OpenGL modes |
//| OpenGL | OpenGL modes |
//| Direct3D | Direct3d modes |
//| Direct3D | Direct3D modes |
//| --------------------------------------|
//
//

View file

@ -37,6 +37,8 @@
#endif
NLMISC::CCmdArgs Args;
int main(sint32 argc, char **argv)
{
NLMISC::CApplicationContext applicationContext;
@ -44,11 +46,10 @@ int main(sint32 argc, char **argv)
QApplication app(argc, argv);
// parse command-line arguments
NLMISC::CCmdArgs args;
args.setDescription("Ryzom Configuration");
args.addArg("p", "profile", "id", "Use this profile to determine what directory to use by default");
Args.setDescription("Ryzom Configuration");
Args.addArg("p", "profile", "id", "Use this profile to determine what directory to use by default");
if (!args.parse(argc, argv)) return 1;
if (!Args.parse(argc, argv)) return 1;
QApplication::setWindowIcon(QIcon(":/resources/welcome_icon.png"));
QPixmap pixmap(":/resources/splash_screen.png" );
@ -82,16 +83,16 @@ int main(sint32 argc, char **argv)
// default paths
std::string ryzomDir = NLMISC::CPath::standardizePath(NLMISC::CPath::getApplicationDirectory("Ryzom"));
std::string currentDir = args.getStartupPath();
std::string executableDir = args.getProgramPath();
std::string currentDir = Args.getStartupPath();
std::string executableDir = Args.getProgramPath();
std::string configFilename = "client.cfg";
std::string configPath;
// search client.cfg file in config directory (Ryzom Installer)
if (args.haveArg("p"))
if (Args.haveArg("p"))
{
ryzomDir = NLMISC::CPath::standardizePath(ryzomDir + args.getArg("p").front());
ryzomDir = NLMISC::CPath::standardizePath(ryzomDir + Args.getArg("p").front());
// client.cfg is always in profile directory if using -p argument
configPath = ryzomDir + configFilename;

View file

@ -160,6 +160,16 @@ void CSystem::GetVideoModes( std::vector< CVideoMode > &dst, NL3D::IDriver *driv
std::vector< NL3D::GfxMode > modes;
driver->getModes( modes );
{
// auto mode
CVideoMode mode;
mode.depth = 0;
mode.width = 0;
mode.height = 0;
mode.frequency = 0;
dst.push_back( mode );
}
for( std::vector< NL3D::GfxMode >::iterator itr = modes.begin(); itr != modes.end(); ++itr )
{
if( ( itr->Width >= 800 ) && ( itr->Height >= 600 ) && ( itr->Depth >= 16 ) )