mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 21:47:42 +00:00
Implement CPFArea constructor
This commit is contained in:
@@ -9,64 +9,63 @@ struct PATH : BigDNA
|
||||
{
|
||||
DECL_DNA
|
||||
Value<atUint32> version;
|
||||
struct Vertex : BigDNA
|
||||
|
||||
struct Node : BigDNA
|
||||
{
|
||||
DECL_DNA
|
||||
Value<atVec3f> position;
|
||||
Value<atVec3f> normal;
|
||||
};
|
||||
Value<atUint32> vertexCount;
|
||||
Vector<Vertex, DNA_COUNT(vertexCount)> nodes;
|
||||
struct Edge : BigDNA
|
||||
Value<atUint32> nodeCount;
|
||||
Vector<Node, DNA_COUNT(nodeCount)> nodes;
|
||||
|
||||
struct Link : BigDNA
|
||||
{
|
||||
DECL_DNA
|
||||
Value<atUint32> polyA;
|
||||
Value<atUint32> polyB;
|
||||
Value<float> width1;
|
||||
Value<float> width2;
|
||||
Value<atUint32> regionIdx;
|
||||
Value<atUint32> nodeIdx;
|
||||
Value<float> width2d;
|
||||
Value<float> oneOverWidth2d;
|
||||
};
|
||||
Value<atUint32> linkCount;
|
||||
Vector<Link, DNA_COUNT(linkCount)> links;
|
||||
|
||||
Value<atUint32> edgeCount;
|
||||
Vector<Edge, DNA_COUNT(edgeCount)> edges;
|
||||
|
||||
struct Polygon : BigDNA
|
||||
struct Region : BigDNA
|
||||
{
|
||||
DECL_DNA
|
||||
Value<atUint32> vertCount;
|
||||
Value<atUint32> vertStart;
|
||||
Value<atUint32> edgeCount;
|
||||
Value<atUint32> edgeStart;
|
||||
Value<atUint32> nodeCount;
|
||||
Value<atUint32> nodeStart;
|
||||
Value<atUint32> linkCount;
|
||||
Value<atUint32> linkStart;
|
||||
Value<atUint32> flags;
|
||||
Value<float> area;
|
||||
Value<float> height;
|
||||
Value<atVec3f> normal;
|
||||
Value<atUint32> selfIdx1;
|
||||
Value<atVec3f> center;
|
||||
Value<atUint32> regionIdx;
|
||||
Value<atVec3f> centroid;
|
||||
Value<atVec3f> aabb[2];
|
||||
Value<atUint32> selfIdx2;
|
||||
Value<atUint32> regionIdxPtr;
|
||||
};
|
||||
Value<atUint32> regionCount;
|
||||
Vector<Region, DNA_COUNT(regionCount)> regions;
|
||||
|
||||
Value<atUint32> polyCount;
|
||||
Vector<Polygon, DNA_COUNT(polyCount)> polygons;
|
||||
|
||||
Vector<atUint32, DNA_COUNT((((polyCount * (polyCount - 1)) / 2) + 31) / 32)> bitmap1;
|
||||
Vector<atUint32, DNA_COUNT((((regionCount * (regionCount - 1)) / 2) + 31) / 32)> bitmap1;
|
||||
Vector<atUint32, DNA_COUNT(bitmap1.size())> bitmap2;
|
||||
Vector<atUint32, DNA_COUNT(((((polyCount * polyCount) + 31) / 32) - bitmap1.size()) * 2)> bitmap3;
|
||||
Vector<atUint32, DNA_COUNT(((((regionCount * regionCount) + 31) / 32) - bitmap1.size()) * 2)> bitmap3;
|
||||
|
||||
Value<atUint32> unkIntCount;
|
||||
Vector<atUint32, DNA_COUNT(unkIntCount)> unkInts;
|
||||
Value<atUint32> octreeRegionLookupCount;
|
||||
Vector<atUint32, DNA_COUNT(octreeRegionLookupCount)> octreeRegionLookup;
|
||||
|
||||
struct UnknownStruct : BigDNA
|
||||
struct OctreeNode : BigDNA
|
||||
{
|
||||
DECL_DNA
|
||||
Value<atUint32> unk1;
|
||||
Value<atVec3f> unk2[3];
|
||||
Value<atUint32> unk3[8]; // Usually 0xFF
|
||||
Value<atUint32> unk4;
|
||||
Value<atUint32> unk5;
|
||||
Value<atUint32> isLeaf;
|
||||
Value<atVec3f> points[3];
|
||||
Value<atUint32> children[8];
|
||||
Value<atUint32> regionCount;
|
||||
Value<atUint32> regionStart;
|
||||
};
|
||||
|
||||
Value<atUint32> unkStructCount;
|
||||
Vector<UnknownStruct, DNA_COUNT(unkStructCount)> unkStructs;
|
||||
Value<atUint32> octreeNodeCount;
|
||||
Vector<OctreeNode, DNA_COUNT(octreeNodeCount)> octree;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user