Added preliminary support for building new ISOs

This commit is contained in:
Aruki
2017-05-20 23:29:09 -06:00
parent 4ffd1f0a2d
commit 31621874a6
7 changed files with 68 additions and 1 deletions

View File

@@ -18,9 +18,17 @@ CProjectSettingsDialog::CProjectSettingsDialog(QWidget *pParent)
connect(mpUI->CookPackageButton, SIGNAL(clicked()), this, SLOT(CookPackage()));
connect(mpUI->CookAllDirtyPackagesButton, SIGNAL(clicked(bool)), this, SLOT(CookAllDirtyPackages()));
connect(mpUI->BuildIsoButton, SIGNAL(clicked(bool)), this, SLOT(BuildISO()));
connect(gpEdApp, SIGNAL(ActiveProjectChanged(CGameProject*)), this, SLOT(ActiveProjectChanged(CGameProject*)));
connect(gpEdApp, SIGNAL(AssetsModified()), this, SLOT(SetupPackagesList()));
// Set build ISO button color
QPalette Palette = mpUI->BuildIsoButton->palette();
QBrush ButtonBrush = Palette.button();
ButtonBrush.setColor( UICommon::kImportantButtonColor );
Palette.setBrush(QPalette::Button, ButtonBrush);
mpUI->BuildIsoButton->setPalette(Palette);
}
CProjectSettingsDialog::~CProjectSettingsDialog()
@@ -56,6 +64,7 @@ void CProjectSettingsDialog::ActiveProjectChanged(CGameProject *pProj)
close();
}
mpUI->BuildIsoButton->setEnabled( pProj && !pProj->IsWiiBuild() );
SetupPackagesList();
}
@@ -92,3 +101,18 @@ void CProjectSettingsDialog::CookAllDirtyPackages()
gpEdApp->CookAllDirtyPackages();
SetupPackagesList();
}
void CProjectSettingsDialog::BuildISO()
{
CGameProject *pProj = gpEdApp->ActiveProject();
ASSERT(pProj && !pProj->IsWiiBuild());
QString DefaultPath = TO_QSTRING(pProj->ProjectRoot() + pProj->Name()) + ".gcm";
QString IsoPath = UICommon::SaveFileDialog(this, "Choose output ISO path", "*.gcm", DefaultPath);
if (!IsoPath.isEmpty())
{
if (!pProj->BuildISO( TO_TSTRING(IsoPath) ))
UICommon::ErrorMsg(this, "Failed to build ISO! Check the log for details.");
}
}