Fix FTB-related issues
This commit is contained in:
parent
a3c95d9bcc
commit
29b00eab31
@ -94,7 +94,7 @@ SET(MultiMC_NEWS_RSS_URL "http://multimc.org/rss.xml" CACHE STRING "URL to fetch
|
|||||||
######## Set version numbers ########
|
######## Set version numbers ########
|
||||||
SET(MultiMC_VERSION_MAJOR 0)
|
SET(MultiMC_VERSION_MAJOR 0)
|
||||||
SET(MultiMC_VERSION_MINOR 3)
|
SET(MultiMC_VERSION_MINOR 3)
|
||||||
SET(MultiMC_VERSION_HOTFIX 0)
|
SET(MultiMC_VERSION_HOTFIX 1)
|
||||||
|
|
||||||
# Build number
|
# Build number
|
||||||
SET(MultiMC_VERSION_BUILD -1 CACHE STRING "Build number. -1 for no build number.")
|
SET(MultiMC_VERSION_BUILD -1 CACHE STRING "Build number. -1 for no build number.")
|
||||||
|
@ -54,3 +54,6 @@
|
|||||||
- Fix logging when the system language is not en_US
|
- Fix logging when the system language is not en_US
|
||||||
- Setting PermGen to 64 will now omit the java parameter because it is the default
|
- Setting PermGen to 64 will now omit the java parameter because it is the default
|
||||||
- Fix encoding of escape sequences (tabs and newlines) in config files
|
- Fix encoding of escape sequences (tabs and newlines) in config files
|
||||||
|
0.3.1:
|
||||||
|
- Fix copying of FTB instances (instance type is changed properly now)
|
||||||
|
- Customizing FTB pack versions will remove the FTB pack patch file
|
||||||
|
@ -199,7 +199,17 @@ void OneSixModEditDialog::on_moveLibraryDownBtn_clicked()
|
|||||||
void OneSixModEditDialog::on_forgeBtn_clicked()
|
void OneSixModEditDialog::on_forgeBtn_clicked()
|
||||||
{
|
{
|
||||||
// FIXME: use actual model, not reloading. Move logic to model.
|
// FIXME: use actual model, not reloading. Move logic to model.
|
||||||
|
if (m_version->hasFtbPack())
|
||||||
|
{
|
||||||
|
if (QMessageBox::question(this, tr("Revert?"),
|
||||||
|
tr("This action will remove the FTB pack version patch. Continue?")) !=
|
||||||
|
QMessageBox::Yes)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_version->removeFtbPack();
|
||||||
|
reloadInstanceVersion();
|
||||||
|
}
|
||||||
if (m_version->isCustom())
|
if (m_version->isCustom())
|
||||||
{
|
{
|
||||||
if (QMessageBox::question(this, tr("Revert?"),
|
if (QMessageBox::question(this, tr("Revert?"),
|
||||||
@ -224,6 +234,17 @@ void OneSixModEditDialog::on_forgeBtn_clicked()
|
|||||||
|
|
||||||
void OneSixModEditDialog::on_liteloaderBtn_clicked()
|
void OneSixModEditDialog::on_liteloaderBtn_clicked()
|
||||||
{
|
{
|
||||||
|
if (m_version->hasFtbPack())
|
||||||
|
{
|
||||||
|
if (QMessageBox::question(this, tr("Revert?"),
|
||||||
|
tr("This action will remove the FTB pack version patch. Continue?")) !=
|
||||||
|
QMessageBox::Yes)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
m_version->removeFtbPack();
|
||||||
|
reloadInstanceVersion();
|
||||||
|
}
|
||||||
if (m_version->isCustom())
|
if (m_version->isCustom())
|
||||||
{
|
{
|
||||||
if (QMessageBox::question(this, tr("Revert?"),
|
if (QMessageBox::question(this, tr("Revert?"),
|
||||||
|
@ -174,6 +174,15 @@ InstanceFactory::InstCreateError InstanceFactory::copyInstance(InstancePtr &newI
|
|||||||
return InstanceFactory::CantCreateDir;
|
return InstanceFactory::CantCreateDir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
INISettingsObject settings_obj(PathCombine(instDir, "instance.cfg"));
|
||||||
|
settings_obj.registerSetting("InstanceType", "Legacy");
|
||||||
|
QString inst_type = settings_obj.get("InstanceType").toString();
|
||||||
|
|
||||||
|
if (inst_type == "OneSixFTB")
|
||||||
|
settings_obj.set("InstanceType", "OneSix");
|
||||||
|
if (inst_type == "LegacyFTB")
|
||||||
|
settings_obj.set("InstanceType", "Legacy");
|
||||||
|
|
||||||
oldInstance->copy(instDir);
|
oldInstance->copy(instDir);
|
||||||
|
|
||||||
auto error = loadInstance(newInstance, instDir);
|
auto error = loadInstance(newInstance, instDir);
|
||||||
@ -190,5 +199,4 @@ InstanceFactory::InstCreateError InstanceFactory::copyInstance(InstancePtr &newI
|
|||||||
rootDir.removeRecursively();
|
rootDir.removeRecursively();
|
||||||
return UnknownCreateError;
|
return UnknownCreateError;
|
||||||
}
|
}
|
||||||
return UnknownCreateError;
|
|
||||||
}
|
}
|
||||||
|
@ -320,6 +320,17 @@ bool OneSixInstance::versionIsCustom()
|
|||||||
|| QFile::exists(PathCombine(instanceRoot(), "user.json"));
|
|| QFile::exists(PathCombine(instanceRoot(), "user.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool OneSixInstance::versionIsFTBPack()
|
||||||
|
{
|
||||||
|
I_D(const OneSixInstance);
|
||||||
|
auto ver = d->version;
|
||||||
|
if(ver)
|
||||||
|
{
|
||||||
|
return ver->hasFtbPack();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
QString OneSixInstance::currentVersionId() const
|
QString OneSixInstance::currentVersionId() const
|
||||||
{
|
{
|
||||||
return intendedVersionId();
|
return intendedVersionId();
|
||||||
|
@ -68,6 +68,8 @@ public:
|
|||||||
std::shared_ptr<VersionFinal> getVanillaVersion() const;
|
std::shared_ptr<VersionFinal> getVanillaVersion() const;
|
||||||
/// is the current version original, or custom?
|
/// is the current version original, or custom?
|
||||||
virtual bool versionIsCustom() override;
|
virtual bool versionIsCustom() override;
|
||||||
|
/// does this instance have an FTB pack patch inside?
|
||||||
|
bool versionIsFTBPack();
|
||||||
|
|
||||||
virtual QString defaultBaseJar() const override;
|
virtual QString defaultBaseJar() const override;
|
||||||
virtual QString defaultCustomBaseJar() const override;
|
virtual QString defaultCustomBaseJar() const override;
|
||||||
|
@ -70,6 +70,7 @@ bool VersionFinal::canRemove(const int index) const
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool VersionFinal::remove(const int index)
|
bool VersionFinal::remove(const int index)
|
||||||
{
|
{
|
||||||
if (canRemove(index) && QFile::remove(versionFiles.at(index)->filename))
|
if (canRemove(index) && QFile::remove(versionFiles.at(index)->filename))
|
||||||
@ -83,6 +84,20 @@ bool VersionFinal::remove(const int index)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool VersionFinal::remove(const QString id)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
for (auto file : versionFiles)
|
||||||
|
{
|
||||||
|
if (file->fileId == id)
|
||||||
|
{
|
||||||
|
return remove(i);
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
QString VersionFinal::versionFileId(const int index) const
|
QString VersionFinal::versionFileId(const int index) const
|
||||||
{
|
{
|
||||||
if (index < 0 || index >= versionFiles.size())
|
if (index < 0 || index >= versionFiles.size())
|
||||||
@ -91,6 +106,7 @@ QString VersionFinal::versionFileId(const int index) const
|
|||||||
}
|
}
|
||||||
return versionFiles.at(index)->fileId;
|
return versionFiles.at(index)->fileId;
|
||||||
}
|
}
|
||||||
|
|
||||||
VersionFilePtr VersionFinal::versionFile(const QString &id)
|
VersionFilePtr VersionFinal::versionFile(const QString &id)
|
||||||
{
|
{
|
||||||
for (auto file : versionFiles)
|
for (auto file : versionFiles)
|
||||||
@ -103,6 +119,16 @@ VersionFilePtr VersionFinal::versionFile(const QString &id)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool VersionFinal::hasFtbPack()
|
||||||
|
{
|
||||||
|
return versionFile("org.multimc.ftb.pack.json") != nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool VersionFinal::removeFtbPack()
|
||||||
|
{
|
||||||
|
return remove("org.multimc.ftb.pack.json");
|
||||||
|
}
|
||||||
|
|
||||||
QList<std::shared_ptr<OneSixLibrary> > VersionFinal::getActiveNormalLibs()
|
QList<std::shared_ptr<OneSixLibrary> > VersionFinal::getActiveNormalLibs()
|
||||||
{
|
{
|
||||||
QList<std::shared_ptr<OneSixLibrary> > output;
|
QList<std::shared_ptr<OneSixLibrary> > output;
|
||||||
|
@ -49,6 +49,11 @@ public:
|
|||||||
bool isCustom();
|
bool isCustom();
|
||||||
// remove custom.json
|
// remove custom.json
|
||||||
bool revertToBase();
|
bool revertToBase();
|
||||||
|
// does this instance have an FTB pack patch file?
|
||||||
|
bool hasFtbPack();
|
||||||
|
// remove FTB pack
|
||||||
|
bool removeFtbPack();
|
||||||
|
|
||||||
|
|
||||||
enum MoveDirection { MoveUp, MoveDown };
|
enum MoveDirection { MoveUp, MoveDown };
|
||||||
void move(const int index, const MoveDirection direction);
|
void move(const int index, const MoveDirection direction);
|
||||||
@ -61,6 +66,7 @@ public:
|
|||||||
public
|
public
|
||||||
slots:
|
slots:
|
||||||
bool remove(const int index);
|
bool remove(const int index);
|
||||||
|
bool remove(const QString id);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QList<std::shared_ptr<OneSixLibrary>> getActiveNormalLibs();
|
QList<std::shared_ptr<OneSixLibrary>> getActiveNormalLibs();
|
||||||
|
Loading…
Reference in New Issue
Block a user