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

Huge compile performance refactor

This commit is contained in:
Jack Andersen
2017-12-28 22:08:12 -10:00
parent 3f2c480891
commit 8301adc3d6
418 changed files with 1645 additions and 2402 deletions

View File

@@ -10,8 +10,10 @@
#include "DNAMP2/STRG.hpp"
#include "hecl/ClientProcess.hpp"
#include "hecl/Blender/Connection.hpp"
#include "Runtime/RetroTypes.hpp"
#include "nod/nod.hpp"
namespace DataSpec
{
@@ -182,7 +184,7 @@ struct SpecMP3 : SpecBase
std::vector<ExtractReport>& reps)
{
doMP3 = true;
nod::Partition* partition = disc.getDataPartition();
nod::IPartition* partition = disc.getDataPartition();
std::unique_ptr<uint8_t[]> dolBuf = partition->getDOLBuf();
const char* buildInfo = (char*)memmem(dolBuf.get(), partition->getDOLSize(), "MetroidBuildInfo", 16) + 19;
if (!buildInfo)
@@ -259,7 +261,7 @@ struct SpecMP3 : SpecBase
if (!doMP3 && !doMPTFE)
return false;
nod::Partition* partition = disc.getDataPartition();
nod::IPartition* partition = disc.getDataPartition();
nod::Node& root = partition->getFSTRoot();
/* MP3 extract */
@@ -408,7 +410,7 @@ struct SpecMP3 : SpecBase
progress(sysName.c_str(), _S(""), compIdx, 0.0);
}
auto pakName = hecl::SystemString(sysName.sys_str());
process.addLambdaTransaction([&, pakName](hecl::BlenderToken& btok)
process.addLambdaTransaction([&, pakName](hecl::blender::Token& btok)
{
m_pakRouter.extractResources(pak, force, btok,
[&](const hecl::SystemChar* substr, float factor)
@@ -467,7 +469,7 @@ struct SpecMP3 : SpecBase
progress(sysName.c_str(), _S(""), compIdx, 0.0);
}
hecl::SystemString pakName(sysName.sys_str());
process.addLambdaTransaction([&, pakName](hecl::BlenderToken& btok)
process.addLambdaTransaction([&, pakName](hecl::blender::Token& btok)
{
m_fePakRouter.extractResources(pak, force, btok,
[&](const hecl::SystemChar* substr, float factor)
@@ -514,43 +516,43 @@ struct SpecMP3 : SpecBase
return false;
}
urde::SObjectTag buildTagFromPath(const hecl::ProjectPath& path, hecl::BlenderToken& btok) const
urde::SObjectTag buildTagFromPath(const hecl::ProjectPath& path, hecl::blender::Token& btok) const
{
return {};
}
void cookMesh(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, bool fast, hecl::BlenderToken& btok,
BlendStream& ds, bool fast, hecl::blender::Token& btok,
FCookProgress progress)
{
}
void cookColMesh(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, bool fast, hecl::BlenderToken& btok,
BlendStream& ds, bool fast, hecl::blender::Token& btok,
FCookProgress progress)
{
}
void cookActor(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, bool fast, hecl::BlenderToken& btok,
BlendStream& ds, bool fast, hecl::blender::Token& btok,
FCookProgress progress)
{
}
void cookArea(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, bool fast, hecl::BlenderToken& btok,
BlendStream& ds, bool fast, hecl::blender::Token& btok,
FCookProgress progress)
{
}
void cookWorld(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, bool fast, hecl::BlenderToken& btok,
BlendStream& ds, bool fast, hecl::blender::Token& btok,
FCookProgress progress)
{
}
void cookGuiFrame(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, hecl::BlenderToken& btok,
BlendStream& ds, hecl::blender::Token& btok,
FCookProgress progress)
{
}
@@ -579,17 +581,17 @@ struct SpecMP3 : SpecBase
}
void cookMapArea(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, hecl::BlenderToken& btok,
BlendStream& ds, hecl::blender::Token& btok,
FCookProgress progress)
{
BlendStream::MapArea mapa = ds.compileMapArea();
hecl::blender::MapArea mapa = ds.compileMapArea();
ds.close();
DNAMP3::MAPA::Cook(mapa, out);
progress(_S("Done"));
}
void cookMapUniverse(const hecl::ProjectPath& out, const hecl::ProjectPath& in,
BlendStream& ds, hecl::BlenderToken& btok,
BlendStream& ds, hecl::blender::Token& btok,
FCookProgress progress)
{
}