Fixed some missed dependencies in a few formats and implemented support for building file lists for paks and MLVLs, and implemented support for package cooking for MP1

This commit is contained in:
parax0
2016-08-12 04:27:19 -06:00
parent 0f2c0d5b39
commit de18044ae0
39 changed files with 1094 additions and 171 deletions

View File

@@ -20,6 +20,7 @@ CProjectOverviewDialog::CProjectOverviewDialog(QWidget *pParent)
connect(mpUI->LoadWorldButton, SIGNAL(clicked()), this, SLOT(LoadWorld()));
connect(mpUI->LaunchEditorButton, SIGNAL(clicked()), this, SLOT(LaunchEditor()));
connect(mpUI->ViewResourcesButton, SIGNAL(clicked()), this, SLOT(LaunchResourceBrowser()));
connect(mpUI->CookPackageButton, SIGNAL(clicked()), this, SLOT(CookPackage()));
}
CProjectOverviewDialog::~CProjectOverviewDialog()
@@ -44,6 +45,7 @@ void CProjectOverviewDialog::OpenProject()
mpProject = pNewProj;
mpProject->SetActive();
SetupWorldsList();
SetupPackagesList();
}
else
@@ -113,6 +115,19 @@ void CProjectOverviewDialog::SetupWorldsList()
mpUI->LoadWorldButton->setEnabled(!mWorldEntries.isEmpty());
}
void CProjectOverviewDialog::SetupPackagesList()
{
ASSERT(mpProject != nullptr && mpProject->IsActive());
mpUI->PackagesList->clear();
for (u32 iPkg = 0; iPkg < mpProject->NumPackages(); iPkg++)
{
CPackage *pPackage = mpProject->PackageByIndex(iPkg);
ASSERT(pPackage != nullptr);
mpUI->PackagesList->addItem(TO_QSTRING(pPackage->Name()));
}
}
void CProjectOverviewDialog::LoadWorld()
{
// Find world
@@ -145,9 +160,6 @@ void CProjectOverviewDialog::LoadWorld()
void CProjectOverviewDialog::LaunchEditor()
{
CGameArea *pOldArea = mpWorldEditor->ActiveArea();
(void) pOldArea;
// Load area
u32 AreaIdx = mpUI->AreaComboBox->currentIndex();
CResourceEntry *pAreaEntry = mAreaEntries[AreaIdx];
@@ -172,3 +184,10 @@ void CProjectOverviewDialog::LaunchResourceBrowser()
CResourceBrowser Browser(this);
Browser.exec();
}
void CProjectOverviewDialog::CookPackage()
{
u32 PackageIdx = mpUI->PackagesList->currentRow();
CPackage *pPackage = mpProject->PackageByIndex(PackageIdx);
pPackage->Cook();
}