[Bf-blender-cvs] [6b63715a857] temp-vse-fix-T88263: Fix animation conversion in versioning
Richard Antalik
noreply at git.blender.org
Mon May 31 13:34:24 CEST 2021
Commit: 6b63715a857123dd8f207fb1e7bd33157d2d0631
Author: Richard Antalik
Date: Mon May 31 13:32:05 2021 +0200
Branches: temp-vse-fix-T88263
https://developer.blender.org/rB6b63715a857123dd8f207fb1e7bd33157d2d0631
Fix animation conversion in versioning
Animation in X and Y channels used `scene->r.xsch` as scene size, which
resulted in incorrect conversion for Y channel.
===================================================================
M source/blender/blenloader/intern/versioning_290.c
===================================================================
diff --git a/source/blender/blenloader/intern/versioning_290.c b/source/blender/blenloader/intern/versioning_290.c
index e17de201741..fec49d7668d 100644
--- a/source/blender/blenloader/intern/versioning_290.c
+++ b/source/blender/blenloader/intern/versioning_290.c
@@ -120,7 +120,8 @@ static bool can_use_proxy(const Sequence *seq, int psize)
static void seq_convert_transform_animation(const Sequence *seq,
const Scene *scene,
const char *path,
- const int image_size)
+ const int image_size,
+ const int scene_size)
{
if (scene->adt == NULL || scene->adt->action == NULL) {
return;
@@ -137,9 +138,9 @@ static void seq_convert_transform_animation(const Sequence *seq,
BezTriple *bezt = fcu->bezt;
for (int i = 0; i < fcu->totvert; i++, bezt++) {
/* Same math as with old_image_center_*, but simplified. */
- bezt->vec[0][1] = image_size / 2 + bezt->vec[0][1] - scene->r.xsch / 2;
- bezt->vec[1][1] = image_size / 2 + bezt->vec[1][1] - scene->r.xsch / 2;
- bezt->vec[2][1] = image_size / 2 + bezt->vec[2][1] - scene->r.xsch / 2;
+ bezt->vec[0][1] = (image_size - scene_size) / 2 + bezt->vec[0][1];
+ bezt->vec[1][1] = (image_size - scene_size) / 2 + bezt->vec[1][1];
+ bezt->vec[2][1] = (image_size - scene_size) / 2 + bezt->vec[2][1];
}
}
}
@@ -248,10 +249,10 @@ static void seq_convert_transform_crop(const Scene *scene,
BLI_str_escape(name_esc, seq->name + 2, sizeof(name_esc));
path = BLI_sprintfN("sequence_editor.sequences_all[\"%s\"].transform.offset_x", name_esc);
- seq_convert_transform_animation(seq, scene, path, image_size_x);
+ seq_convert_transform_animation(seq, scene, path, image_size_x, scene->r.xsch);
MEM_freeN(path);
path = BLI_sprintfN("sequence_editor.sequences_all[\"%s\"].transform.offset_y", name_esc);
- seq_convert_transform_animation(seq, scene, path, image_size_y);
+ seq_convert_transform_animation(seq, scene, path, image_size_y, scene->r.ysch);
MEM_freeN(path);
seq->flag &= ~use_transform_flag;
More information about the Bf-blender-cvs
mailing list