Pieces.idx
#define LC_PIECE_NAME_LEN 256
struct PieceTableEntry
{
char PieceID[LC_PIECE_NAME_LEN]; // Piece ID
char Description[64]; // Piece description
u16 BoundingBox[6]; // Bounding box
u8 Flags; // Piece flags (see LC_PIECE_*)
u32 Groups; // Number of data groups
u32 Offset; // Data offset in bytes from the start of pieces.bin
u32 Size; // Data size in bytes
};
struct MovedPieceEntry
{
char From[LC_PIECE_NAME_LEN]; // Original PieceID
char To[LC_PIECE_NAME_LEN]; // New PieceID
};
char Header[32]; // Header ("LeoCAD piece library index file")
u8 Version; // File format version (currently 4)
u8 LastUpdate; // Last official update applied (deprecated)
PieceTableEntry PiecesArray[]; // List of pieces in this file
MovedPieceEntry MovedPiecesArray[]; // List of pieces that were assigned new PieceID
u16 NumMovedPieces; // Number of elements in MovedPiecesArray
u32 PiecesBinSize; // Pieces.bin file size in bytes
u16 NumPieces; // Number of elements in PiecesArray
Category Configuration File (*.lcf)
u32 - LeoCAD ID (LCD)
u32 - File ID (CAT)
u32 - Number of categories
lcString - Category Name -| Repeat for each category
lcString - Category Keywords -|