Deploy jars instead of extracting them at runtime, remove non-working nvidia fix

This commit is contained in:
Petr Mrázek
2014-01-08 01:27:40 +01:00
parent 28cb66e85c
commit fb83299e59
8 changed files with 83 additions and 98 deletions

View File

@ -1,26 +1,20 @@
#include "JavaChecker.h"
#include "MultiMC.h"
#include <pathutils.h>
#include <QFile>
#include <QProcess>
#include <QMap>
#include <QTemporaryFile>
#define CHECKER_FILE "JavaChecker.jar"
JavaChecker::JavaChecker(QObject *parent) : QObject(parent)
{
}
void JavaChecker::performCheck()
{
checkerJar.setFileTemplate("checker_XXXXXX.jar");
checkerJar.open();
QFile inner(":/java/checker.jar");
inner.open(QIODevice::ReadOnly);
checkerJar.write(inner.readAll());
inner.close();
checkerJar.close();
QString checkerJar = PathCombine(MMC->bin(), "jars", "JavaCheck.jar");
QStringList args = {"-jar", checkerJar.fileName()};
QStringList args = {"-jar", checkerJar};
process.reset(new QProcess());
process->setArguments(args);
@ -42,7 +36,6 @@ void JavaChecker::finished(int exitcode, QProcess::ExitStatus status)
killTimer.stop();
QProcessPtr _process;
_process.swap(process);
checkerJar.remove();
JavaCheckResult result;
{
@ -100,7 +93,6 @@ void JavaChecker::error(QProcess::ProcessError err)
if(err == QProcess::FailedToStart)
{
killTimer.stop();
checkerJar.remove();
JavaCheckResult result;
{

View File

@ -1,7 +1,6 @@
#pragma once
#include <QProcess>
#include <QTimer>
#include <QTemporaryFile>
#include <memory>
class JavaChecker;
@ -35,7 +34,6 @@ signals:
private:
QProcessPtr process;
QTimer killTimer;
QTemporaryFile checkerJar;
public
slots:
void timeout();

View File

@ -31,8 +31,6 @@
#include "gui/dialogs/LegacyModEditDialog.h"
#define LAUNCHER_FILE "MultiMCLauncher.jar"
LegacyInstance::LegacyInstance(const QString &rootDir, SettingsObject *settings,
QObject *parent)
: BaseInstance(new LegacyInstancePrivate(), rootDir, settings, parent)
@ -61,7 +59,7 @@ MinecraftProcess *LegacyInstance::prepareForLaunch(MojangAccountPtr account)
pixmap.save(PathCombine(minecraftRoot(), "icon.png"), "PNG");
// extract the legacy launcher
QFile(":/java/launcher.jar").copy(PathCombine(minecraftRoot(), LAUNCHER_FILE));
QString launcherJar = PathCombine(MMC->bin(), "jars", "MultiMCLauncher.jar");
// set the process arguments
{
@ -104,7 +102,7 @@ MinecraftProcess *LegacyInstance::prepareForLaunch(MojangAccountPtr account)
"minecraft.exe.heapdump");
#endif
args << "-jar" << LAUNCHER_FILE;
args << "-jar" << launcherJar;
args << account->currentProfile()->name;
args << account->sessionId();
args << windowTitle;