[Bf-blender-cvs] [a6cd77bad1c] master: Refactor: use new api for writing camera, lattice, vfont and key
Jacques Lucke
noreply at git.blender.org
Fri Jun 5 14:32:33 CEST 2020
Commit: a6cd77bad1c1266306dca4fd42d7856121b3dbc1
Author: Jacques Lucke
Date: Fri Jun 5 14:32:26 2020 +0200
Branches: master
https://developer.blender.org/rBa6cd77bad1c1266306dca4fd42d7856121b3dbc1
Refactor: use new api for writing camera, lattice, vfont and key
===================================================================
M source/blender/blenloader/intern/writefile.c
===================================================================
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index ec3e4803baa..38ca23abc63 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -2022,60 +2022,60 @@ static void write_object(WriteData *wd, Object *ob, const void *id_address)
}
}
-static void write_vfont(WriteData *wd, VFont *vf, const void *id_address)
+static void write_vfont(BlendWriter *writer, VFont *vf, const void *id_address)
{
- if (vf->id.us > 0 || wd->use_memfile) {
+ if (vf->id.us > 0 || BLO_write_is_undo(writer)) {
/* Clean up, important in undo case to reduce false detection of changed datablocks. */
vf->data = NULL;
vf->temp_pf = NULL;
/* write LibData */
- writestruct_at_address(wd, ID_VF, VFont, 1, id_address, vf);
- write_iddata(wd, &vf->id);
+ BLO_write_id_struct(writer, VFont, id_address, &vf->id);
+ write_iddata(writer->wd, &vf->id);
/* direct data */
if (vf->packedfile) {
PackedFile *pf = vf->packedfile;
- writestruct(wd, DATA, PackedFile, 1, pf);
- writedata(wd, DATA, pf->size, pf->data);
+ BLO_write_struct(writer, PackedFile, pf);
+ BLO_write_raw(writer, pf->size, pf->data);
}
}
}
-static void write_key(WriteData *wd, Key *key, const void *id_address)
+static void write_key(BlendWriter *writer, Key *key, const void *id_address)
{
- if (key->id.us > 0 || wd->use_memfile) {
+ if (key->id.us > 0 || BLO_write_is_undo(writer)) {
/* write LibData */
- writestruct_at_address(wd, ID_KE, Key, 1, id_address, key);
- write_iddata(wd, &key->id);
+ BLO_write_id_struct(writer, Key, id_address, &key->id);
+ write_iddata(writer->wd, &key->id);
if (key->adt) {
- write_animdata(wd, key->adt);
+ write_animdata(writer->wd, key->adt);
}
/* direct data */
LISTBASE_FOREACH (KeyBlock *, kb, &key->block) {
- writestruct(wd, DATA, KeyBlock, 1, kb);
+ BLO_write_struct(writer, KeyBlock, kb);
if (kb->data) {
- writedata(wd, DATA, kb->totelem * key->elemsize, kb->data);
+ BLO_write_raw(writer, kb->totelem * key->elemsize, kb->data);
}
}
}
}
-static void write_camera(WriteData *wd, Camera *cam, const void *id_address)
+static void write_camera(BlendWriter *writer, Camera *cam, const void *id_address)
{
- if (cam->id.us > 0 || wd->use_memfile) {
+ if (cam->id.us > 0 || BLO_write_is_undo(writer)) {
/* write LibData */
- writestruct_at_address(wd, ID_CA, Camera, 1, id_address, cam);
- write_iddata(wd, &cam->id);
+ BLO_write_id_struct(writer, Camera, id_address, &cam->id);
+ write_iddata(writer->wd, &cam->id);
if (cam->adt) {
- write_animdata(wd, cam->adt);
+ write_animdata(writer->wd, cam->adt);
}
LISTBASE_FOREACH (CameraBGImage *, bgpic, &cam->bg_images) {
- writestruct(wd, DATA, CameraBGImage, 1, bgpic);
+ BLO_write_struct(writer, CameraBGImage, bgpic);
}
}
}
@@ -2331,26 +2331,26 @@ static void write_mesh(WriteData *wd, Mesh *mesh, const void *id_address)
}
}
-static void write_lattice(WriteData *wd, Lattice *lt, const void *id_address)
+static void write_lattice(BlendWriter *writer, Lattice *lt, const void *id_address)
{
- if (lt->id.us > 0 || wd->use_memfile) {
+ if (lt->id.us > 0 || BLO_write_is_undo(writer)) {
/* Clean up, important in undo case to reduce false detection of changed datablocks. */
lt->editlatt = NULL;
lt->batch_cache = NULL;
/* write LibData */
- writestruct_at_address(wd, ID_LT, Lattice, 1, id_address, lt);
- write_iddata(wd, <->id);
+ BLO_write_id_struct(writer, Lattice, id_address, <->id);
+ write_iddata(writer->wd, <->id);
/* write animdata */
if (lt->adt) {
- write_animdata(wd, lt->adt);
+ write_animdata(writer->wd, lt->adt);
}
/* direct data */
- writestruct(wd, DATA, BPoint, lt->pntsu * lt->pntsv * lt->pntsw, lt->def);
+ BLO_write_struct_array(writer, BPoint, lt->pntsu * lt->pntsv * lt->pntsw, lt->def);
- write_dverts(wd, lt->pntsu * lt->pntsv * lt->pntsw, lt->dvert);
+ write_dverts(writer->wd, lt->pntsu * lt->pntsv * lt->pntsw, lt->dvert);
}
}
@@ -4233,19 +4233,19 @@ static bool write_file_handle(Main *mainvar,
write_image(&writer, (Image *)id_buffer, id);
break;
case ID_CA:
- write_camera(wd, (Camera *)id_buffer, id);
+ write_camera(&writer, (Camera *)id_buffer, id);
break;
case ID_LA:
write_light(&writer, (Light *)id_buffer, id);
break;
case ID_LT:
- write_lattice(wd, (Lattice *)id_buffer, id);
+ write_lattice(&writer, (Lattice *)id_buffer, id);
break;
case ID_VF:
- write_vfont(wd, (VFont *)id_buffer, id);
+ write_vfont(&writer, (VFont *)id_buffer, id);
break;
case ID_KE:
- write_key(wd, (Key *)id_buffer, id);
+ write_key(&writer, (Key *)id_buffer, id);
break;
case ID_WO:
write_world(&writer, (World *)id_buffer, id);
More information about the Bf-blender-cvs
mailing list