Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dalai@blender.org>2020-10-15 13:02:56 +0300
committerDalai Felinto <dalai@blender.org>2020-10-15 20:59:58 +0300
commitc866075dfbd90888705ad5cd68b25d8605febb4a (patch)
treec2cf75c07a285f7533b7a84aa174daeecebe11c3 /source/blender/blenkernel
parentca55a1b564a6ff32784d7c611b4728be400637e8 (diff)
Fix T81580: No doversion for Emission Strength
The new parameter made so that previously keyed Alpha values were lost and instead the new "Emission Strength" was keyed. Issue introduced with the original commit of Emission Strength: b248ec97769f Note: Files created since the issue (September 17) that keyframed the Emission Strength will have to fix their files manually. Differential Revision: https://developer.blender.org/D9221
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_animsys.h10
-rw-r--r--source/blender/blenkernel/BKE_blender_version.h2
-rw-r--r--source/blender/blenkernel/intern/anim_data.c36
3 files changed, 42 insertions, 6 deletions
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h
index e9819e6ea87..2007d150c6a 100644
--- a/source/blender/blenkernel/BKE_animsys.h
+++ b/source/blender/blenkernel/BKE_animsys.h
@@ -152,6 +152,16 @@ void BKE_animdata_fix_paths_rename_all(struct ID *ref_id,
const char *oldName,
const char *newName);
+/* Fix all the paths for the entire bmain with extra parameters. */
+void BKE_animdata_fix_paths_rename_all_ex(struct Main *bmain,
+ struct ID *ref_id,
+ const char *prefix,
+ const char *oldName,
+ const char *newName,
+ const int oldSubscript,
+ const int newSubscript,
+ const bool verify_paths);
+
/* Fix the path after removing elements that are not ID (e.g., node).
* Return true if any animation data was affected. */
bool BKE_animdata_fix_paths_remove(struct ID *id, const char *path);
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index bd10deb216b..aed4dad05ad 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -39,7 +39,7 @@ extern "C" {
/* Blender file format version. */
#define BLENDER_FILE_VERSION BLENDER_VERSION
-#define BLENDER_FILE_SUBVERSION 7
+#define BLENDER_FILE_SUBVERSION 8
/* Minimum Blender version that supports reading file written with the current
* version. Older Blender versions will test this and show a warning if the file
diff --git a/source/blender/blenkernel/intern/anim_data.c b/source/blender/blenkernel/intern/anim_data.c
index 4e24fc27be7..a85509b11db 100644
--- a/source/blender/blenkernel/intern/anim_data.c
+++ b/source/blender/blenkernel/intern/anim_data.c
@@ -1406,13 +1406,30 @@ void BKE_animdata_main_cb(Main *bmain, ID_AnimData_Edit_Callback func, void *use
* NOTE: it is assumed that the structure we're replacing is <prefix><["><name><"]>
* i.e. pose.bones["Bone"]
*/
-/* TODO: use BKE_animdata_main_cb for looping over all data */
void BKE_animdata_fix_paths_rename_all(ID *ref_id,
const char *prefix,
const char *oldName,
const char *newName)
{
Main *bmain = G.main; /* XXX UGLY! */
+ BKE_animdata_fix_paths_rename_all_ex(bmain, ref_id, prefix, oldName, newName, 0, 0, 1);
+}
+
+/* Fix all RNA-Paths throughout the database
+ * NOTE: it is assumed that the structure we're replacing is <prefix><["><name><"]>
+ * i.e. pose.bones["Bone"]
+ */
+/* TODO: use BKE_animdata_main_cb for looping over all data */
+void BKE_animdata_fix_paths_rename_all_ex(Main *bmain,
+ ID *ref_id,
+ const char *prefix,
+ const char *oldName,
+ const char *newName,
+ const int oldSubscript,
+ const int newSubscript,
+ const bool verify_paths)
+{
+
ID *id;
/* macro for less typing
@@ -1422,7 +1439,8 @@ void BKE_animdata_fix_paths_rename_all(ID *ref_id,
#define RENAMEFIX_ANIM_IDS(first) \
for (id = first; id; id = id->next) { \
AnimData *adt = BKE_animdata_from_id(id); \
- BKE_animdata_fix_paths_rename(id, adt, ref_id, prefix, oldName, newName, 0, 0, 1); \
+ BKE_animdata_fix_paths_rename( \
+ id, adt, ref_id, prefix, oldName, newName, oldSubscript, newSubscript, verify_paths); \
} \
(void)0
@@ -1433,10 +1451,18 @@ void BKE_animdata_fix_paths_rename_all(ID *ref_id,
NtId_Type *ntp = (NtId_Type *)id; \
if (ntp->nodetree) { \
AnimData *adt2 = BKE_animdata_from_id((ID *)ntp->nodetree); \
- BKE_animdata_fix_paths_rename( \
- (ID *)ntp->nodetree, adt2, ref_id, prefix, oldName, newName, 0, 0, 1); \
+ BKE_animdata_fix_paths_rename((ID *)ntp->nodetree, \
+ adt2, \
+ ref_id, \
+ prefix, \
+ oldName, \
+ newName, \
+ oldSubscript, \
+ newSubscript, \
+ verify_paths); \
} \
- BKE_animdata_fix_paths_rename(id, adt, ref_id, prefix, oldName, newName, 0, 0, 1); \
+ BKE_animdata_fix_paths_rename( \
+ id, adt, ref_id, prefix, oldName, newName, oldSubscript, newSubscript, verify_paths); \
} \
(void)0