diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-10-15 04:02:40 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-10-15 04:04:59 +0300 |
commit | c412a5412341d65cd8ce3391e298fe13ffa28943 (patch) | |
tree | c834e69d9da7182067e22e3c475a077bb6f500e3 /source/blender/blenloader/intern | |
parent | 695cbf5eef793e513a3e90c56d1b17692648d2a2 (diff) |
Docs: clarify writefile.c file format info
Diffstat (limited to 'source/blender/blenloader/intern')
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index aae5072c8de..d24fca4391a 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -26,35 +26,36 @@ * FILE FORMAT * =========== * - * IFF-style structure (but not IFF compatible!) + * IFF-style structure (but not IFF compatible!) * - * start file: + * Start file: * <pre> - * BLENDER_V100 12 bytes (version 1.00) - * V = big endian, v = little endian - * _ = 4 byte pointer, - = 8 byte pointer + * `BLENDER_V100` `12` bytes (version 1.00 is just an example). + * `V` = big endian, `v` = little endian. + * `_` = 4 byte pointer, `-` = 8 byte pointer. * </pre> * * data-blocks: (also see struct #BHead). * <pre> - * <bh.code> 4 chars - * <bh.len> int, len data after BHead - * <bh.old> void, old pointer - * <bh.SDNAnr> int - * <bh.nr> int, in case of array: number of structs - * data - * ... - * ... + * `bh.code` `char[4]` see `BLO_blend_defs.h` for a list of known types. + * `bh.len` `int32` length data after #BHead in bytes. + * `bh.old` `void *` old pointer (the address at the time of writing the file). + * `bh.SDNAnr` `int32` struct index of structs stored in #DNA1 data. + * `bh.nr` `int32` in case of array: number of structs. + * data + * ... + * ... * </pre> * * Almost all data in Blender are structures. Each struct saved * gets a BHead header. With BHead the struct can be linked again - * and compared with StructDNA . + * and compared with #StructDNA. + * WRITE * ===== * * Preferred writing order: (not really a must, but why would you do it random?) - * Any case: direct data is ALWAYS after the lib block + * Any case: direct data is ALWAYS after the lib block. * * (Local file data) * - for each LibBlock |