Version 3 (modified by leo, 5 years ago) (diff)



#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 -|