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

Initial cook tool update

This commit is contained in:
Jack Andersen
2015-09-29 20:23:40 -10:00
parent eed44c8230
commit 5f68a2a992
6 changed files with 37 additions and 159 deletions

View File

@@ -11,11 +11,11 @@ namespace Retro
struct SpecBase : HECL::Database::IDataSpec
{
bool canExtract(const ExtractPassInfo& info, std::vector<ExtractReport>& reps);
void doExtract(const ExtractPassInfo& info, FExtractProgress progress);
bool canExtract(const ExtractPassInfo& info, std::list<ExtractReport>& reps);
void doExtract(const ExtractPassInfo& info, FProgress progress);
bool canCook(const CookTaskInfo& info);
void doCook(const CookTaskInfo& info);
bool canCook(const HECL::ProjectPath& path);
void doCook(const HECL::ProjectPath& path, const HECL::ProjectPath& cookedPath);
bool canPackage(const PackagePassInfo& info);
void gatherDependencies(const PackagePassInfo& info,
@@ -25,31 +25,17 @@ struct SpecBase : HECL::Database::IDataSpec
virtual bool checkStandaloneID(const char* id) const=0;
virtual bool checkFromStandaloneDisc(NOD::DiscBase& disc,
const HECL::SystemString& regstr,
const std::vector<HECL::SystemString>& args,
std::vector<ExtractReport>& reps)=0;
const std::list<HECL::SystemString>& args,
std::list<ExtractReport>& reps)=0;
virtual bool checkFromTrilogyDisc(NOD::DiscBase& disc,
const HECL::SystemString& regstr,
const std::vector<HECL::SystemString>& args,
std::vector<ExtractReport>& reps)=0;
const std::list<HECL::SystemString>& args,
std::list<ExtractReport>& reps)=0;
virtual bool extractFromDisc(NOD::DiscBase& disc, bool force,
FExtractProgress progress)=0;
FProgress progress)=0;
virtual bool checkFromProject()=0;
virtual bool readFromProject()=0;
virtual bool visitGameObjects(std::function<bool(const HECL::Database::ObjectBase&)>)=0;
struct ILevelSpec
{
virtual bool visitLevelObjects(std::function<bool(const HECL::Database::ObjectBase&)>)=0;
struct IAreaSpec
{
virtual bool visitAreaObjects(std::function<bool(const HECL::Database::ObjectBase&)>)=0;
};
virtual bool visitAreas(std::function<bool(const IAreaSpec&)>)=0;
};
virtual bool visitLevels(std::function<bool(const ILevelSpec&)>)=0;
inline const HECL::ProjectPath& getMasterShaderPath() const {return m_masterShader;}
const HECL::ProjectPath& getMasterShaderPath() const {return m_masterShader;}
SpecBase(HECL::Database::Project& project)
: m_project(project),