struct Head { char8_t Signature[8]; // "GENOMFLE" uint16_t Version; // 0001 uint32_t TextOffset; } class Data { // bCStrings are stored as index into Text[]. uint8_t Buff[Head.TextOffset - sizeof(Head)]; } // @Head.TextOffset class Text { uint32_t Signature; // DEADBEEF uint8_t Version; // 01 uint32_t Count; for( Count ) { uint16_t TextLength; char8_t TextString[TextLength]; // (ASCII) } }