30 #include "dna_type_offsets.h"
86 #define BLO_get_struct_id(writer, struct_name) SDNA_TYPE_FROM_STRUCT(struct_name)
93 #define BLO_write_struct(writer, struct_name, data_ptr) \
94 BLO_write_struct_by_id(writer, BLO_get_struct_id(writer, struct_name), data_ptr)
102 const void *data_ptr);
103 #define BLO_write_struct_at_address(writer, struct_name, address, data_ptr) \
104 BLO_write_struct_at_address_by_id( \
105 writer, BLO_get_struct_id(writer, struct_name), address, data_ptr)
111 BlendWriter *writer,
int filecode,
int struct_id,
const void *address,
const void *data_ptr);
112 #define BLO_write_struct_at_address_with_filecode( \
113 writer, filecode, struct_name, address, data_ptr) \
114 BLO_write_struct_at_address_by_id_with_filecode( \
115 writer, filecode, BLO_get_struct_id(writer, struct_name), address, data_ptr)
121 const char *struct_name,
123 const void *data_ptr);
127 const void *data_ptr);
128 #define BLO_write_struct_array(writer, struct_name, array_size, data_ptr) \
129 BLO_write_struct_array_by_id( \
130 writer, BLO_get_struct_id(writer, struct_name), array_size, data_ptr)
136 BlendWriter *writer,
int struct_id,
int array_size,
const void *address,
const void *data_ptr);
137 #define BLO_write_struct_array_at_address(writer, struct_name, array_size, address, data_ptr) \
138 BLO_write_struct_array_at_address_by_id( \
139 writer, BLO_get_struct_id(writer, struct_name), array_size, address, data_ptr)
145 const char *struct_name,
148 #define BLO_write_struct_list(writer, struct_name, list_ptr) \
149 BLO_write_struct_list_by_id(writer, BLO_get_struct_id(writer, struct_name), list_ptr)
156 const void *id_address,
157 const struct ID *
id);
158 #define BLO_write_id_struct(writer, struct_name, id_address, id) \
159 blo_write_id_struct(writer, BLO_get_struct_id(writer, struct_name), id_address, id)
215 #define BLO_read_data_address(reader, ptr_p) \
216 *((void **)ptr_p) = BLO_read_get_new_data_address((reader), *(ptr_p))
217 #define BLO_read_packed_address(reader, ptr_p) \
218 *((void **)ptr_p) = BLO_read_get_new_packed_address((reader), *(ptr_p))
257 #define BLO_read_id_address(reader, lib, id_ptr_p) \
258 *((void **)id_ptr_p) = (void *)BLO_read_get_new_id_address((reader), (lib), (ID *)*(id_ptr_p))
277 #define BLO_expand(expander, id) BLO_expand_id(expander, (struct ID *)id)
size_t ATTR_PRINTF_FORMAT(3, 4)
void BLO_write_double_array(BlendWriter *writer, uint num, const double *data_ptr)
void BLO_read_float3_array(BlendDataReader *reader, int array_size, float **ptr_p)
void BLO_write_uint32_array(BlendWriter *writer, uint num, const uint32_t *data_ptr)
void BLO_write_float3_array(BlendWriter *writer, uint num, const float *data_ptr)
void BLO_write_struct_list_by_id(BlendWriter *writer, int struct_id, struct ListBase *list)
void BLO_write_struct_at_address_by_id_with_filecode(BlendWriter *writer, int filecode, int struct_id, const void *address, const void *data_ptr)
struct Main * BLO_read_lib_get_main(BlendLibReader *reader)
void * BLO_read_get_new_packed_address(BlendDataReader *reader, const void *old_address)
void * BLO_read_get_new_data_address_no_us(BlendDataReader *reader, const void *old_address)
ID * BLO_read_get_new_id_address(BlendLibReader *reader, struct Library *lib, struct ID *id)
void BLO_write_struct_by_name(BlendWriter *writer, const char *struct_name, const void *data_ptr)
void BLO_write_int32_array(BlendWriter *writer, uint num, const int32_t *data_ptr)
void BLO_read_double_array(BlendDataReader *reader, int array_size, double **ptr_p)
struct BlendFileReadReport * BLO_read_lib_reports(BlendLibReader *reader)
bool BLO_read_data_is_undo(BlendDataReader *reader)
void BLO_read_float_array(BlendDataReader *reader, int array_size, float **ptr_p)
void BLO_read_int32_array(BlendDataReader *reader, int array_size, int32_t **ptr_p)
void(* BlendReadListFn)(BlendDataReader *reader, void *data)
void BLO_write_struct_list_by_name(BlendWriter *writer, const char *struct_name, struct ListBase *list)
void BLO_read_list(BlendDataReader *reader, struct ListBase *list)
void BLO_write_struct_array_by_id(BlendWriter *writer, int struct_id, int array_size, const void *data_ptr)
bool BLO_read_lib_is_undo(BlendLibReader *reader)
void BLO_read_glob_list(BlendDataReader *reader, struct ListBase *list)
void * BLO_read_get_new_data_address(BlendDataReader *reader, const void *old_address)
void BLO_read_list_cb(BlendDataReader *reader, struct ListBase *list, BlendReadListFn callback)
void BLO_read_uint32_array(BlendDataReader *reader, int array_size, uint32_t **ptr_p)
void BLO_read_data_globmap_add(BlendDataReader *reader, void *oldaddr, void *newaddr)
void BLO_write_float_array(BlendWriter *writer, uint num, const float *data_ptr)
void BLO_write_string(BlendWriter *writer, const char *data_ptr)
int BLO_get_struct_id_by_name(BlendWriter *writer, const char *struct_name)
void BLO_write_struct_array_by_name(BlendWriter *writer, const char *struct_name, int array_size, const void *data_ptr)
bool BLO_read_requires_endian_switch(BlendDataReader *reader)
void BLO_expand_id(BlendExpander *expander, struct ID *id)
void BLO_write_raw(BlendWriter *writer, size_t size_in_bytes, const void *data_ptr)
void BLO_write_struct_at_address_by_id(BlendWriter *writer, int struct_id, const void *address, const void *data_ptr)
struct BlendFileReadReport * BLO_read_data_reports(BlendDataReader *reader)
void BLO_read_pointer_array(BlendDataReader *reader, void **ptr_p)
void BLO_write_struct_array_at_address_by_id(BlendWriter *writer, int struct_id, int array_size, const void *address, const void *data_ptr)
void BLO_reportf_wrap(struct BlendFileReadReport *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
bool BLO_write_is_undo(BlendWriter *writer)
void BLO_write_struct_by_id(BlendWriter *writer, int struct_id, const void *data_ptr)
void blo_write_id_struct(BlendWriter *writer, int struct_id, const void *id_address, const struct ID *id)
void BLO_write_pointer_array(BlendWriter *writer, uint num, const void *data_ptr)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
DEGForeachIDComponentCallback callback
SyclQueue void void size_t num_bytes void
struct ReportList * reports