Esempio n. 1
0
int GameLauncher::commandGen(  ) {

    Authentication auth;
    auth.setUsername( username );
    auth.setPassword( password );

    QByteArray mainClass;
    QString arguments;

    QFile mainClassFile(QDir::currentPath()+"/versions/"+version+"/mainClass.txt" );
    if( mainClassFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) {
        QTextStream in( &mainClassFile );
        mainClass = in.readAll().toLocal8Bit();
        mainClassFile.close();
    }
    else return -666;


    QFile argFile( QDir::currentPath()+"/versions/"+version+"/arguments.txt" );
    if( argFile.open( QIODevice::ReadOnly | QIODevice::Text ) ) {
        QTextStream in( &argFile );
        arguments = in.readAll().toLocal8Bit();
    }
    else return -666;


    qDebug() << arguments;

    if( isLegit() ) {
        QString result = "";
        QString gameUsername = "";

        QEventLoop eventLoop;

        QNetworkAccessManager mgr;
        int errCode;
        errCode = auth.login( &mgr );

        arguments.replace( "${auth_player_name}", auth.getGameUsername() );
        arguments.replace( "${auth_session}", "token:"+auth.getAccessToken().toLocal8Bit()+":"+auth.getClientId().toLocal8Bit() );
        arguments.replace( "${version_name}", version );
        arguments.replace( "${game_directory}", "\""+mainPath+"\"" );
        arguments.replace( "${game_assets}", "\""+mainPath+slash+"assets\"" );

        command.append("java ").append(" -Djava.library.path=\""+mainPath+slash+"natives\"")
               .append( libPathGen() ).append(" "+mainClass+" ").append( arguments );


            return errCode;


    }
    else {



        arguments.replace( "${auth_player_name}", auth.getUsername() );
        arguments.replace( "${auth_session}", "token:"+auth.getAccessToken().toLocal8Bit()+":"+auth.getClientId().toLocal8Bit() );
        arguments.replace( "${version_name}", version );
        arguments.replace( "${game_directory}", "\""+mainPath+"\"" );
        arguments.replace( "${game_assets}", "\""+mainPath+slash+"assets\"" );

        command.append("java ").append(" -Djava.library.path=\""+mainPath+slash+"natives\"")
               .append( libPathGen() ).append(" "+mainClass+" ").append( arguments );


    }
    return 0;
}