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 <QtGui>
#include <QMessageBox> #include <QMessageBox>
#include "nel/misc/cmd_args.h"
extern NLMISC::CCmdArgs Args;
CClientConfigDialog::CClientConfigDialog( QWidget *parent ) : CClientConfigDialog::CClientConfigDialog( QWidget *parent ) :
QDialog( parent ) QDialog( parent )
{ {
@ -145,15 +149,28 @@ void CClientConfigDialog::onClickPlay()
{ {
bool started = false; 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 #ifdef Q_OS_WIN32
started = QProcess::startDetached( "ryzom_client_r.exe" ); #ifdef _DEBUG
if( !started ) clientFullPath += "ryzom_client_d.exe";
QProcess::startDetached( "ryzom_client_d.exe" );
#elif defined(Q_OS_MAC)
started = QProcess::startDetached( "./Ryzom.app" );
#else #else
started = QProcess::startDetached( "./ryzom_client" ); clientFullPath += "ryzom_client_r.exe";
#endif #endif
#elif defined(Q_OS_MAC)
clientFullPath += "Ryzom";
#else
clientFullPath += "ryzom_client";
#endif
started = QProcess::startDetached(clientFullPath, arguments);
onClickOK(); onClickOK();
} }

View file

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

View file

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

View file

@ -160,6 +160,16 @@ void CSystem::GetVideoModes( std::vector< CVideoMode > &dst, NL3D::IDriver *driv
std::vector< NL3D::GfxMode > modes; std::vector< NL3D::GfxMode > modes;
driver->getModes( 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 ) for( std::vector< NL3D::GfxMode >::iterator itr = modes.begin(); itr != modes.end(); ++itr )
{ {
if( ( itr->Width >= 800 ) && ( itr->Height >= 600 ) && ( itr->Depth >= 16 ) ) if( ( itr->Width >= 800 ) && ( itr->Height >= 600 ) && ( itr->Depth >= 16 ) )