Blender Git Loki
Git Commits -> Revision 18387ad
February 28, 2017, 13:06 (GMT) |
Big refactor of differential override storage. On second thought, modifying real data-block to store diff in it is... just bad. Because it affects actual data, because it involves complicated and heavy processes like remapping, and because it stores useless values in .blend file (i.e. values that would give garbage results if e.g. opening .blend file with older version of Blender, etc.). So instead, decided to save an extra data-block in .blend file each time we have some differential overrides. Note that for now, we do full copy of datablock into its extra 'storage' sibbling for .blend file. This is bad (think about double copy of heavy mesh...) and will have to be fixed. Whole copy process will need serious work anyway, for that kind of features we need to be able to copy without increase usercount of IDs etc. In fact, here, maybe we even need a smarter version of copy that would only duplicate sub-data as needed by diff-overriden properties... |
Commit Details:
Full Hash: 18387ad49616f6fb3fde42c8115193d76d9a97ed
Parent Commit: b08a5d1
Lines Changed: +380, -266
8 Modified Paths:
/source/blender/blenkernel/BKE_library_override.h (+14, -5) (Diff)
/source/blender/blenkernel/intern/library.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/library_override.c (+113, -77) (Diff)
/source/blender/blenloader/intern/readfile.c (+2, -1) (Diff)
/source/blender/blenloader/intern/writefile.c (+131, -117) (Diff)
/source/blender/makesdna/DNA_ID.h (+5, -1) (Diff)
/source/blender/makesrna/intern/rna_access.c (+107, -61) (Diff)
/source/blender/makesrna/RNA_access.h (+6, -4) (Diff)
/source/blender/blenkernel/intern/library.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/library_override.c (+113, -77) (Diff)
/source/blender/blenloader/intern/readfile.c (+2, -1) (Diff)
/source/blender/blenloader/intern/writefile.c (+131, -117) (Diff)
/source/blender/makesdna/DNA_ID.h (+5, -1) (Diff)
/source/blender/makesrna/intern/rna_access.c (+107, -61) (Diff)
/source/blender/makesrna/RNA_access.h (+6, -4) (Diff)