[Bf-blender-cvs] [5e50380ddc9] asset-uuid: Merge branch 'master' into asset-uuid
Julian Eisel
noreply at git.blender.org
Sat Jun 13 22:54:16 CEST 2020
Commit: 5e50380ddc99dd8c8c8067482b2dce186e7c3fb4
Author: Julian Eisel
Date: Sat Jun 13 22:54:07 2020 +0200
Branches: asset-uuid
https://developer.blender.org/rB5e50380ddc99dd8c8c8067482b2dce186e7c3fb4
Merge branch 'master' into asset-uuid
===================================================================
===================================================================
diff --cc source/blender/blenkernel/CMakeLists.txt
index 45cd4933f80,b9054d29752..92e0904c568
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@@ -74,8 -74,8 +74,9 @@@ set(SR
intern/anim_visualization.c
intern/appdir.c
intern/armature.c
+ intern/armature_deform.c
intern/armature_update.c
+ intern/asset_engine.c
intern/autoexec.c
intern/blender.c
intern/blender_copybuffer.c
diff --cc source/blender/makesdna/DNA_ID.h
index 265b16992d8,38115dad023..eb02352f49b
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@@ -236,65 -233,6 +233,61 @@@ typedef struct IDOverrideLibrary
IDOverrideLibraryRuntime *runtime;
} IDOverrideLibrary;
- enum eOverrideLibrary_Flag {
- OVERRIDE_LIBRARY_AUTO = 1 << 0, /* Allow automatic generation of overriding rules. */
- };
-
+/**
+ * About Unique identifier.
+ *
+ * Stored in a CustomProps once imported.
+ * Each engine is free to use it as it likes - it will be the only thing passed to it by blender to
+ * identify repository/asset/variant/version/view.
+ * Assumed to be 128bits (16 bytes) each, handled as four integers due to lack of real
+ * bytes proptype in RNA.
+ */
+#define ASSET_UUID_LENGTH 16
+
+/* Used to communicate with asset engines outside of 'import' context. */
+typedef struct AssetUUID {
+ int uuid_repository[4];
+ int uuid_asset[4];
+ int uuid_variant[4];
+ int uuid_revision[4];
+ int uuid_view[4];
+ short flag;
+
+ /* Everything below this comment is runtime data. */
+ short tag;
+
+ /* Preview. */
+ short preview_width;
+ short preview_height;
+ char *preview_image_buffer; /* RGBA 8bits. */
+
+ /* Used for load_post and other temporary storage of the ID itself in its AssetUUID.
+ * Usage and scope are similar to the `ID.newid` pointer. */
+ struct ID *id;
+} AssetUUID;
+
+/**
+ * uuid->flag (persitent, saved in .blend files).
+ */
+enum {
+ UUID_FLAG_LAST_REVISION = 1 << 0, /* This asset should always use latest available revision. */
+};
+
+/**
+ * uuid->tag (runtime only).
+ */
+enum {
+ UUID_TAG_ENGINE_MISSING =
+ 1 << 0, /* The asset engine used for this asset is not known by Blender. */
+ UUID_TAG_ASSET_MISSING =
+ 1 << 1, /* The asset engine was found but does not know about this asset (anymore). */
+
+ UUID_TAG_ASSET_RELOAD =
+ 1 << 8, /* Set by the asset engine to indicate that this asset has to be reloaded. */
+ UUID_TAG_ASSET_NOPREVIEW =
+ 1 << 9, /* Set by the asset engine to indicate that this asset has no preview. */
+};
+
/* watch it: Sequence has identical beginning. */
/**
* ID is the first thing included in all serializable types. It
More information about the Bf-blender-cvs
mailing list