[Bf-blender-cvs] [081311d168f] blenloader-api: add blenloader write callback to ModifierTypeInfo

Jacques Lucke noreply at git.blender.org
Sat Mar 7 19:09:26 CET 2020


Commit: 081311d168f488236f02d4e69a71e8ca65bc880b
Author: Jacques Lucke
Date:   Sat Mar 7 16:38:00 2020 +0100
Branches: blenloader-api
https://developer.blender.org/rB081311d168f488236f02d4e69a71e8ca65bc880b

add blenloader write callback to ModifierTypeInfo

===================================================================

M	source/blender/blenkernel/BKE_modifier.h
M	source/blender/blenloader/intern/writefile.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index 2ff6f1f3652..3d7782e669b 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -40,6 +40,8 @@ struct ModifierData;
 struct Object;
 struct Scene;
 struct bArmature;
+struct BloWriter;
+struct BloReader;
 
 typedef enum {
   /* Should not be used, only for None modifier type */
@@ -333,6 +335,8 @@ typedef struct ModifierTypeInfo {
    *    more like "ensure the data is freed".
    */
   void (*freeRuntimeData)(void *runtime_data);
+
+  void (*bloWrite)(struct BloWriter *writer, struct ModifierData *md);
 } ModifierTypeInfo;
 
 /* Initialize modifier's global data (type info and some common global storages). */
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index be8a0b29f7c..eaa014c9082 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1574,6 +1574,10 @@ static void write_modifiers(WriteData *wd, ListBase *modbase)
 
     writestruct_id(wd, DATA, mti->structName, 1, md);
 
+    if (mti->bloWrite != NULL) {
+      mti->bloWrite(wrap_writer(wd), md);
+    }
+
     if (md->type == eModifierType_Hook) {
       HookModifierData *hmd = (HookModifierData *)md;



More information about the Bf-blender-cvs mailing list