Legacy jar reassembly, base of proper custom jar support

This commit is contained in:
Petr Mrázek
2013-08-24 03:09:46 +02:00
parent b781231666
commit e3b55067eb
18 changed files with 286 additions and 151 deletions

View File

@ -13,10 +13,7 @@ public:
explicit LegacyInstance(const QString &rootDir, SettingsObject * settings, QObject *parent = 0);
/// Path to the instance's minecraft.jar
QString mcJar() const;
//! Path to the instance's mcbackup.jar
QString mcBackup() const;
QString runnableJar() const;
//! Path to the instance's modlist file.
QString modListFile() const;
@ -34,35 +31,6 @@ public:
QString coreModsDir() const;
QString resourceDir() const;
/*!
* \brief Checks whether or not the currentVersion of the instance needs to be updated.
* If this returns true, updateCurrentVersion is called. In the
* standard instance, this is determined by checking a timestamp
* stored in the instance config file against the last modified time of Minecraft.jar.
* \return True if updateCurrentVersion() should be called.
*/
bool shouldUpdateCurrentVersion() const;
/*!
* \brief Updates the current version.
* This function should first set the current version timestamp
* (setCurrentVersionTimestamp()) to the current time. Next, if
* keepCurrent is false, this function should check what the
* instance's current version is and call setCurrentVersion() to
* update it. This function will automatically be called when the
* instance is loaded if shouldUpdateCurrentVersion returns true.
* \param keepCurrent If true, only the version timestamp will be updated.
*/
void updateCurrentVersion(bool keepCurrent = false);
/*!
* Gets the last time that the current version was checked.
* This is checked against the last modified time on the jar file to see if
* the current version needs to be checked again.
*/
qint64 lastCurrentVersionUpdate() const;
void setLastCurrentVersionUpdate(qint64 val);
/*!
* Whether or not the instance's minecraft.jar needs to be rebuilt.
* If this is true, when the instance launches, its jar mods will be
@ -90,6 +58,9 @@ public:
virtual void cleanupAfterRun();
virtual QDialog * createModEditDialog ( QWidget* parent );
virtual QString defaultBaseJar() const;
virtual QString defaultCustomBaseJar() const;
protected slots:
virtual void jarModsChanged();
};