diff options
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_defaults.h | 1 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_modifier_defaults.h b/source/blender/makesdna/DNA_modifier_defaults.h index 5b2694f420b..78ab41031a6 100644 --- a/source/blender/makesdna/DNA_modifier_defaults.h +++ b/source/blender/makesdna/DNA_modifier_defaults.h @@ -429,6 +429,7 @@ .uv_offset = {0.0f, 0.0f}, \ .uv_offset_copy = {0.0f, 0.0f}, \ .mirror_ob = NULL, \ + .use_correct_order_on_merge = true, \ } #define _DNA_DEFAULT_MultiresModifierData \ diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 631db64ddd3..f7a468264c3 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -374,7 +374,15 @@ typedef struct MirrorModifierData { short flag; float tolerance; float bisect_threshold; - char _pad[4]; + + /** Mirror modifier used to merge the old vertex into its new copy, which would break code + * relying on access to the original geometry vertices. However, modifying this behavior to the + * correct one (i.e. merging the copy vertices into their original sources) has several potential + * effects on other modifiers and tools, so we need to keep that incorrect behavior for existing + * modifiers, and only use the new correct one for new modifiers. */ + uint8_t use_correct_order_on_merge; + + char _pad[3]; float uv_offset[2]; float uv_offset_copy[2]; struct Object *mirror_ob; |