2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 03:07:41 +00:00

Ensure directories are created late in extract

This commit is contained in:
Jack Andersen
2017-01-16 15:23:19 -10:00
parent d66d9a24f4
commit 56b24c39f0
50 changed files with 402 additions and 177 deletions

View File

@@ -17,6 +17,7 @@ namespace DataSpec
static logvisor::Module Log("urde::SpecMP2");
extern hecl::Database::DataSpecEntry SpecEntMP2;
extern hecl::Database::DataSpecEntry SpecEntMP2ORIG;
struct SpecMP2 : SpecBase
{
@@ -212,9 +213,6 @@ struct SpecMP2 : SpecBase
nod::ExtractionContext ctx = {true, force, nullptr};
m_workPath.makeDir();
const hecl::ProjectPath& cookPath = m_project.getProjectCookedPath(SpecEntMP2);
cookPath.makeDir();
m_cookPath.makeDir();
progress(_S("Indexing PAKs"), _S(""), 2, 0.0);
m_pakRouter.build(m_paks, [&progress](float factor)
@@ -274,9 +272,14 @@ struct SpecMP2 : SpecBase
return true;
}
const hecl::Database::DataSpecEntry* getOriginalSpec() const
const hecl::Database::DataSpecEntry& getOriginalSpec() const
{
return &SpecEntMP2;
return SpecEntMP2;
}
const hecl::Database::DataSpecEntry& getUnmodifiedSpec() const
{
return SpecEntMP2ORIG;
}
hecl::ProjectPath getWorking(class UniqueID32& id)
@@ -334,6 +337,12 @@ struct SpecMP2 : SpecBase
{
}
void cookGuiFrame(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, hecl::BlenderToken& btok,
FCookProgress progress)
{
}
void cookYAML(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
athena::io::IStreamReader& fin, FCookProgress progress)
{
@@ -379,4 +388,11 @@ hecl::Database::DataSpecEntry SpecEntMP2PC =
}
};
hecl::Database::DataSpecEntry SpecEntMP2ORIG =
{
_S("MP2-ORIG"),
_S("Data specification for unmodified Metroid Prime 2 resources"),
{}
};
}