2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 15:44:56 +00:00

Cooking bug fixes

This commit is contained in:
Jack Andersen
2018-02-26 00:39:12 -10:00
parent 8bae2325d6
commit 72f9e77f56
8 changed files with 26 additions and 19 deletions

View File

@@ -106,9 +106,7 @@ bool DCLN::Extract(const SpecBase& dataSpec,
}
bool DCLN::Cook(const hecl::ProjectPath& outPath,
const hecl::ProjectPath& inPath,
const std::vector<Mesh>& meshes,
hecl::blender::Connection* conn)
const std::vector<Mesh>& meshes)
{
DCLN dcln;
dcln.colCount = atUint32(meshes.size());

View File

@@ -106,9 +106,7 @@ struct DCLN : BigDNA
std::function<void(const hecl::SystemChar*)> fileChanged);
static bool Cook(const hecl::ProjectPath& outPath,
const hecl::ProjectPath& inPath,
const std::vector<Mesh>& meshes,
hecl::blender::Connection* conn = nullptr);
const std::vector<Mesh>& meshes);
};
}

View File

@@ -20,7 +20,7 @@ void EVNT::Enumerate(typename Op::StreamT& s)
if (version == 2)
{
DoSize<Op>({"soundPOICount"}, soundPOICount, s);
Do<Op>({"particlePOINodes"}, soundPOINodes, soundPOICount, s);
Do<Op>({"soundPOINodes"}, soundPOINodes, soundPOICount, s);
}
}

View File

@@ -165,15 +165,27 @@ bool PATH::Extract(const SpecBase& dataSpec,
}
bool PATH::Cook(const hecl::ProjectPath& outPath,
const hecl::ProjectPath& inPath,
const PathMesh& mesh,
hecl::blender::Connection* conn)
const PathMesh& mesh)
{
athena::io::MemoryReader r(mesh.data.data(), mesh.data.size());
PATH path;
path.read(r);
AROTBuilder octreeBuilder;
octreeBuilder.buildPath(path);
if (!path.regions.empty())
{
AROTBuilder octreeBuilder;
octreeBuilder.buildPath(path);
}
else
{
path.octreeNodeCount = 1;
path.octree.emplace_back();
OctreeNode& n = path.octree.back();
n.isLeaf = 1;
n.aabb[0] = zeus::CVector3f{FLT_MAX, FLT_MAX, FLT_MAX};
n.aabb[1] = zeus::CVector3f{-FLT_MAX, -FLT_MAX, -FLT_MAX};
for (int i=0 ; i<8 ; ++i)
n.children[i] = 0xffffffff;
}
athena::io::FileWriter w(outPath.getAbsolutePath());
path.write(w);

View File

@@ -86,9 +86,7 @@ struct PATH : BigDNA
std::function<void(const hecl::SystemChar*)> fileChanged);
static bool Cook(const hecl::ProjectPath& outPath,
const hecl::ProjectPath& inPath,
const PathMesh& mesh,
hecl::blender::Connection* conn = nullptr);
const PathMesh& mesh);
};
}