[Bf-blender-cvs] [01b63aa266e] asset-browser: Rename some core asset types (breaking file compatibility)
Julian Eisel
noreply at git.blender.org
Mon Nov 30 17:42:37 CET 2020
Commit: 01b63aa266e0ebab876347920cb9daaa4115ed82
Author: Julian Eisel
Date: Mon Nov 30 17:39:56 2020 +0100
Branches: asset-browser
https://developer.blender.org/rB01b63aa266e0ebab876347920cb9daaa4115ed82
Rename some core asset types (breaking file compatibility)
After feedback from review, I decided to change data-structure names
(`AssetData` -> `AssetMetaData`, `CustomTag` -> `AssetTag`).
This will break DNA compatibility so old assets created with this branch won't
be readable.
===================================================================
M source/blender/blenkernel/BKE_asset.h
M source/blender/blenkernel/intern/asset.c
M source/blender/blenkernel/intern/lib_id.c
M source/blender/blenkernel/intern/lib_id_delete.c
M source/blender/blenloader/BLO_readfile.h
M source/blender/blenloader/intern/readfile.c
M source/blender/blenloader/intern/readfile.h
M source/blender/editors/asset/asset_edit.c
M source/blender/editors/space_file/filelist.c
M source/blender/makesdna/DNA_ID.h
M source/blender/makesdna/DNA_asset_defaults.h
M source/blender/makesdna/DNA_asset_types.h
M source/blender/makesdna/DNA_space_types.h
M source/blender/makesdna/intern/dna_defaults.c
M source/blender/makesrna/RNA_access.h
M source/blender/makesrna/intern/rna_asset.c
M source/blender/makesrna/intern/rna_space.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_asset.h b/source/blender/blenkernel/BKE_asset.h
index 2e97fcd9dc9..4d467deadfe 100644
--- a/source/blender/blenkernel/BKE_asset.h
+++ b/source/blender/blenkernel/BKE_asset.h
@@ -42,25 +42,25 @@ void BKE_asset_repository_info_update_for_file_read(struct AssetRepositoryInfo *
struct AssetCatalog *BKE_asset_repository_catalog_create(const char *name);
void BKE_asset_repository_catalog_free(struct AssetCatalog **catalog);
-struct AssetData *BKE_asset_data_create(void);
-void BKE_asset_data_free(struct AssetData **asset_data);
+struct AssetMetaData *BKE_asset_metadata_create(void);
+void BKE_asset_metadata_free(struct AssetMetaData **asset_data);
-struct CustomTagEnsureResult {
- struct CustomTag *tag;
+struct AssetTagEnsureResult {
+ struct AssetTag *tag;
/* Set to false if a tag of this name was already present. */
bool is_new;
};
-struct CustomTag *BKE_assetdata_tag_add(struct AssetData *asset_data, const char *name);
-struct CustomTagEnsureResult BKE_assetdata_tag_ensure(struct AssetData *asset_data,
- const char *name);
-void BKE_assetdata_tag_remove(struct AssetData *asset_data, struct CustomTag *tag);
+struct AssetTag *BKE_asset_metadata_tag_add(struct AssetMetaData *asset_data, const char *name);
+struct AssetTagEnsureResult BKE_asset_metadata_tag_ensure(struct AssetMetaData *asset_data,
+ const char *name);
+void BKE_asset_metadata_tag_remove(struct AssetMetaData *asset_data, struct AssetTag *tag);
-struct PreviewImage *BKE_assetdata_preview_get_from_id(const struct AssetData *asset_data,
- const struct ID *owner_id);
+struct PreviewImage *BKE_asset_metadata_preview_get_from_id(const struct AssetMetaData *asset_data,
+ const struct ID *owner_id);
-void BKE_assetdata_write(struct BlendWriter *writer, struct AssetData *asset_data);
-void BKE_assetdata_read(struct BlendDataReader *reader, struct AssetData *asset_data);
+void BKE_asset_metadata_write(struct BlendWriter *writer, struct AssetMetaData *asset_data);
+void BKE_asset_metadata_read(struct BlendDataReader *reader, struct AssetMetaData *asset_data);
#ifdef __cplusplus
}
diff --git a/source/blender/blenkernel/intern/asset.c b/source/blender/blenkernel/intern/asset.c
index 5ce3cbc99b4..d352d36ab5d 100644
--- a/source/blender/blenkernel/intern/asset.c
+++ b/source/blender/blenkernel/intern/asset.c
@@ -88,14 +88,14 @@ void BKE_asset_repository_catalog_free(AssetCatalog **catalog)
MEM_SAFE_FREE(*catalog);
}
-AssetData *BKE_asset_data_create(void)
+AssetMetaData *BKE_asset_metadata_create(void)
{
- AssetData *asset_data = MEM_callocN(sizeof(AssetData), __func__);
- memcpy(asset_data, DNA_struct_default_get(AssetData), sizeof(*asset_data));
+ AssetMetaData *asset_data = MEM_callocN(sizeof(AssetMetaData), __func__);
+ memcpy(asset_data, DNA_struct_default_get(AssetMetaData), sizeof(*asset_data));
return asset_data;
}
-void BKE_asset_data_free(AssetData **asset_data)
+void BKE_asset_metadata_free(AssetMetaData **asset_data)
{
if ((*asset_data)->properties) {
IDP_FreeProperty((*asset_data)->properties);
@@ -106,19 +106,19 @@ void BKE_asset_data_free(AssetData **asset_data)
MEM_SAFE_FREE(*asset_data);
}
-static CustomTag *assetdata_tag_create(const char *const name)
+static AssetTag *asset_metadata_tag_create(const char *const name)
{
- CustomTag *tag = MEM_callocN(sizeof(*tag), __func__);
+ AssetTag *tag = MEM_callocN(sizeof(*tag), __func__);
BLI_strncpy(tag->name, name, sizeof(tag->name));
return tag;
}
-CustomTag *BKE_assetdata_tag_add(AssetData *asset_data, const char *name)
+AssetTag *BKE_asset_metadata_tag_add(AssetMetaData *asset_data, const char *name)
{
- CustomTag *tag = assetdata_tag_create(name);
+ AssetTag *tag = asset_metadata_tag_create(name);
BLI_addtail(&asset_data->tags, tag);
- BLI_uniquename(&asset_data->tags, tag, name, '.', offsetof(CustomTag, name), sizeof(tag->name));
+ BLI_uniquename(&asset_data->tags, tag, name, '.', offsetof(AssetTag, name), sizeof(tag->name));
return tag;
}
@@ -126,14 +126,15 @@ CustomTag *BKE_assetdata_tag_add(AssetData *asset_data, const char *name)
/**
* Make sure there is a tag with name \a name, create one if needed.
*/
-struct CustomTagEnsureResult BKE_assetdata_tag_ensure(AssetData *asset_data, const char *name)
+struct AssetTagEnsureResult BKE_asset_metadata_tag_ensure(AssetMetaData *asset_data,
+ const char *name)
{
- struct CustomTagEnsureResult result = {.tag = NULL};
+ struct AssetTagEnsureResult result = {.tag = NULL};
if (!name[0]) {
return result;
}
- CustomTag *tag = BLI_findstring(&asset_data->tags, name, offsetof(CustomTag, name));
+ AssetTag *tag = BLI_findstring(&asset_data->tags, name, offsetof(AssetTag, name));
if (tag) {
result.tag = tag;
@@ -141,7 +142,7 @@ struct CustomTagEnsureResult BKE_assetdata_tag_ensure(AssetData *asset_data, con
return result;
}
- tag = assetdata_tag_create(name);
+ tag = asset_metadata_tag_create(name);
BLI_addtail(&asset_data->tags, tag);
result.tag = tag;
@@ -149,23 +150,24 @@ struct CustomTagEnsureResult BKE_assetdata_tag_ensure(AssetData *asset_data, con
return result;
}
-void BKE_assetdata_tag_remove(AssetData *asset_data, CustomTag *tag)
+void BKE_asset_metadata_tag_remove(AssetMetaData *asset_data, AssetTag *tag)
{
BLI_freelinkN(&asset_data->tags, tag);
}
/* Queries -------------------------------------------- */
-PreviewImage *BKE_assetdata_preview_get_from_id(const AssetData *UNUSED(asset_data), const ID *id)
+PreviewImage *BKE_asset_metadata_preview_get_from_id(const AssetMetaData *UNUSED(asset_data),
+ const ID *id)
{
return BKE_previewimg_id_get(id);
}
/* .blend file API -------------------------------------------- */
-void BKE_assetdata_write(BlendWriter *writer, AssetData *asset_data)
+void BKE_asset_metadata_write(BlendWriter *writer, AssetMetaData *asset_data)
{
- BLO_write_struct(writer, AssetData, asset_data);
+ BLO_write_struct(writer, AssetMetaData, asset_data);
if (asset_data->properties) {
IDP_BlendWrite(writer, asset_data->properties);
@@ -174,12 +176,12 @@ void BKE_assetdata_write(BlendWriter *writer, AssetData *asset_data)
if (asset_data->description) {
BLO_write_string(writer, asset_data->description);
}
- LISTBASE_FOREACH (CustomTag *, tag, &asset_data->tags) {
- BLO_write_struct(writer, CustomTag, tag);
+ LISTBASE_FOREACH (AssetTag *, tag, &asset_data->tags) {
+ BLO_write_struct(writer, AssetTag, tag);
}
}
-void BKE_assetdata_read(BlendDataReader *reader, AssetData *asset_data)
+void BKE_asset_metadata_read(BlendDataReader *reader, AssetMetaData *asset_data)
{
/* asset_data itself has been read already. */
diff --git a/source/blender/blenkernel/intern/lib_id.c b/source/blender/blenkernel/intern/lib_id.c
index 46c37366840..659b6e93908 100644
--- a/source/blender/blenkernel/intern/lib_id.c
+++ b/source/blender/blenkernel/intern/lib_id.c
@@ -2363,7 +2363,7 @@ void BKE_id_reorder(const ListBase *lb, ID *id, ID *relative, bool after)
void BKE_id_blend_write(BlendWriter *writer, ID *id)
{
if (id->asset_data) {
- BKE_assetdata_write(writer, id->asset_data);
+ BKE_asset_metadata_write(writer, id->asset_data);
}
/* ID_WM's id->properties are considered runtime only, and never written in .blend file. */
diff --git a/source/blender/blenkernel/intern/lib_id_delete.c b/source/blender/blenkernel/intern/lib_id_delete.c
index 592807a5b3f..7199bd0f13c 100644
--- a/source/blender/blenkernel/intern/lib_id_delete.c
+++ b/source/blender/blenkernel/intern/lib_id_delete.c
@@ -66,7 +66,7 @@ void BKE_libblock_free_data(ID *id, const bool do_id_user)
}
if (id->asset_data) {
- BKE_asset_data_free(&id->asset_data);
+ BKE_asset_metadata_free(&id->asset_data);
}
BKE_animdata_free(id, do_id_user);
diff --git a/source/blender/blenloader/BLO_readfile.h b/source/blender/blenloader/BLO_readfile.h
index c60b6677a8c..18d8bc17bea 100644
--- a/source/blender/blenloader/BLO_readfile.h
+++ b/source/blender/blenloader/BLO_readfile.h
@@ -124,7 +124,7 @@ void BLO_blendfiledata_free(BlendFileData *bfd);
struct BLODataBlockInfo {
char name[64]; /* MAX_NAME */
- struct AssetData *asset_data;
+ struct AssetMetaData *asset_data;
};
BlendHandle *BLO_blendhandle_from_file(const char *filepath, struct ReportList *reports);
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index fd83ff7d5e7..5dd038f0993 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -968,11 +968,11 @@ const char *blo_bhead_id_name(const FileData *fd, const BHead *bhead)
}
/* Warning! Caller's responsibility to ensure given bhead **is** an ID one! */
-AssetData *blo_bhead_id_asset_data_address(const FileData *fd, const BHead *bhead)
+AssetMetaData *blo_bhead_id_asset_data_address(const FileData *fd, const BHead *bhead)
{
BLI_assert(BKE_idtype_idcode_is_valid(bhead->code));
return (fd->id_asset_data_offs > 0) ?
- *(AssetData **)POINTER_OFFSET(bhead, sizeof(*bhead) + fd->id_asset_data_offs) :
+ *(AssetMetaData **)POINTER_OFFSET(bhead, sizeof(*bhead) + fd->id_asset_data_offs) :
NULL;
}
@@ -1053,7 +1053,7 @@ static bool read_file_dna(FileData *fd, const char **r_error_message)
/* used to retrieve ID names from (bhead+1) */
fd->id_name_offs = DNA_elem_offset(fd->filesdna, "ID", "char", "name[]");
BLI_assert(fd->id_name_offs != -1);
- fd->id_asset_data_offs = DNA_elem_offset(fd->filesdna, "ID", "AssetData", "*asset_data");
+ fd->id_asset_data_offs = DNA_elem_offset(fd->filesdna, "ID", "AssetMetaData", "*asset_data");
return true;
}
@@ -2376,7 +2376,7 @@ static void direct_link_id_common(
if (id->asset_data) {
BLO
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list