106 lines
2.7 KiB
C++
106 lines
2.7 KiB
C++
#pragma once
|
|
|
|
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
|
|
// Original PDB header: w:\tech5\engine\renderer\development\manifold.h
|
|
// Recovered logical types: 9
|
|
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
|
|
|
|
|
|
// IDA Local Type ordinal 3033; PDB kind: enum.
|
|
enum idManifold::occluders_t : __int32
|
|
{
|
|
OCCLUDERS_NONE = 0x0,
|
|
OCCLUDERS_ALL = 0x1,
|
|
OCCLUDERS_SIGNIFICANT = 0x2,
|
|
OCCLUDERS_OMNI_SIGNIFICANT = 0x3,
|
|
OCCLUDERS_DETAIL = 0x4,
|
|
OCCLUDERS_PIPE = 0x5,
|
|
};
|
|
|
|
// IDA Local Type ordinal 3034; PDB kind: enum.
|
|
enum idManifold::color_t : __int32
|
|
{
|
|
COLOR_NONE = 0x0,
|
|
COLOR_ISLANDS = 0x1,
|
|
COLOR_NODES = 0x2,
|
|
};
|
|
|
|
// IDA Local Type ordinal 3035; PDB kind: unknown.
|
|
typedef idBSPSurface::<unnamed_tag> idManifold::<unnamed_tag>;
|
|
|
|
// IDA Local Type ordinal 22836; PDB kind: struct.
|
|
struct manifoldEdge_t
|
|
{
|
|
manifoldVertex_t *verts[2];
|
|
manifoldEdgeTriangle_t *tris[2];
|
|
manifoldEdge_t *split[2];
|
|
int numTris;
|
|
int flags;
|
|
};
|
|
|
|
// IDA Local Type ordinal 22837; PDB kind: struct.
|
|
struct manifoldHint_t
|
|
{
|
|
int planeType;
|
|
float planeDist;
|
|
idWinding *winding;
|
|
};
|
|
|
|
// IDA Local Type ordinal 22842; PDB kind: struct.
|
|
struct manifoldNode_t
|
|
{
|
|
int planeType;
|
|
float planeDist;
|
|
idBounds bounds;
|
|
idList<manifoldHint_t,5> hints;
|
|
idList<manifoldTriangle_t *,5> triangles;
|
|
idHashIndex triangleHash;
|
|
idList<manifoldIsland_t *,5> islands;
|
|
manifoldNode_t *children[2];
|
|
};
|
|
|
|
// IDA Local Type ordinal 22845; PDB kind: struct.
|
|
struct idManifold::tree_t
|
|
{
|
|
manifoldNode_t *root;
|
|
idManifold::occluders_t splitOccluders;
|
|
int trianglesPerNode;
|
|
float planarEpsilon;
|
|
float colinearEpsilon;
|
|
float flipEpsilon;
|
|
float convexEpsilon;
|
|
float textureSpaceEpsilon;
|
|
int doneTriangles;
|
|
int donePercent;
|
|
};
|
|
|
|
// IDA Local Type ordinal 22864; PDB kind: class.
|
|
class idManifold
|
|
{
|
|
public:
|
|
idList<manifoldVertex_t *,5> vertices;
|
|
idList<manifoldEdge_t *,5> edges;
|
|
idList<manifoldTriangle_t *,5> triangles;
|
|
idList<manifoldIsland_t *,5> islands;
|
|
idHashIndex vertexHash;
|
|
idHashIndex edgeHash;
|
|
idHashIndex triangleHash;
|
|
idList<manifoldEdge_t *,5> splitEdges;
|
|
idManifold::tree_t tree;
|
|
idList<idStr,5> binaryModelNames;
|
|
idList<bool,5> binaryModelState;
|
|
idBlockAlloc<manifoldVertex_t,1024,12> manifoldVertexAllocator;
|
|
idBlockAlloc<manifoldEdgeTriangle_t,1024,12> manifoldEdgeTriangleAllocator;
|
|
idBlockAlloc<manifoldEdge_t,1024,12> manifoldEdgeAllocator;
|
|
idBlockAlloc<manifoldTriangle_t,1024,12> manifoldTriangleAllocator;
|
|
idBlockAlloc<manifoldIsland_t,128,12> manifoldIslandAllocator;
|
|
idBlockAlloc<manifoldNode_t,1024,12> manifoldNodeAllocator;
|
|
};
|
|
|
|
// IDA Local Type ordinal 22865; PDB kind: struct.
|
|
struct idManifold::tjunction_t
|
|
{
|
|
manifoldEdge_t *edge;
|
|
manifoldVertex_t *vertex;
|
|
};
|