Merge branch 'master' into blender2.8
[blender.git] / source / blender / makesdna / DNA_ID.h
index 60701e9..725eefe 100644 (file)
@@ -213,42 +213,49 @@ typedef struct PreviewImage {
  * Written to #BHead.code (for file IO)
  * and the first 2 bytes of #ID.name (for runtime checks, see #GS macro).
  */
-#define ID_SCE         MAKE_ID2('S', 'C') /* Scene */
-#define ID_LI          MAKE_ID2('L', 'I') /* Library */
-#define ID_OB          MAKE_ID2('O', 'B') /* Object */
-#define ID_ME          MAKE_ID2('M', 'E') /* Mesh */
-#define ID_CU          MAKE_ID2('C', 'U') /* Curve */
-#define ID_MB          MAKE_ID2('M', 'B') /* MetaBall */
-#define ID_MA          MAKE_ID2('M', 'A') /* Material */
-#define ID_TE          MAKE_ID2('T', 'E') /* Tex (Texture) */
-#define ID_IM          MAKE_ID2('I', 'M') /* Image */
-#define ID_LT          MAKE_ID2('L', 'T') /* Lattice */
-#define ID_LA          MAKE_ID2('L', 'A') /* Lamp */
-#define ID_CA          MAKE_ID2('C', 'A') /* Camera */
-#define ID_IP          MAKE_ID2('I', 'P') /* Ipo (depreciated, replaced by FCurves) */
-#define ID_KE          MAKE_ID2('K', 'E') /* Key (shape key) */
-#define ID_WO          MAKE_ID2('W', 'O') /* World */
-#define ID_SCR         MAKE_ID2('S', 'R') /* Screen */
-#define ID_SCRN                MAKE_ID2('S', 'N') /* (depreciated?) */
-#define ID_VF          MAKE_ID2('V', 'F') /* VFont (Vector Font) */
-#define ID_TXT         MAKE_ID2('T', 'X') /* Text */
-#define ID_SPK         MAKE_ID2('S', 'K') /* Speaker */
-#define ID_SO          MAKE_ID2('S', 'O') /* Sound */
-#define ID_GR          MAKE_ID2('G', 'R') /* Group */
-#define ID_ID          MAKE_ID2('I', 'D') /* (internal use only) */
-#define ID_AR          MAKE_ID2('A', 'R') /* bArmature */
-#define ID_AC          MAKE_ID2('A', 'C') /* bAction */
-#define ID_NT          MAKE_ID2('N', 'T') /* bNodeTree */
-#define ID_BR          MAKE_ID2('B', 'R') /* Brush */
-#define ID_GD          MAKE_ID2('G', 'D') /* bGPdata, (Grease Pencil) */
-#define ID_WM          MAKE_ID2('W', 'M') /* WindowManager */
-#define ID_MC          MAKE_ID2('M', 'C') /* MovieClip */
-#define ID_MSK         MAKE_ID2('M', 'S') /* Mask */
-#define ID_LS          MAKE_ID2('L', 'S') /* FreestyleLineStyle */
-#define ID_PAL         MAKE_ID2('P', 'L') /* Palette */
-#define ID_PC          MAKE_ID2('P', 'C') /* PaintCurve  */
-
-       /* NOTE! Fake IDs, needed for g.sipo->blocktype or outliner */
+typedef enum ID_Type {
+       ID_SCE  = MAKE_ID2('S', 'C'), /* Scene */
+       ID_LI   = MAKE_ID2('L', 'I'), /* Library */
+       ID_OB   = MAKE_ID2('O', 'B'), /* Object */
+       ID_ME   = MAKE_ID2('M', 'E'), /* Mesh */
+       ID_CU   = MAKE_ID2('C', 'U'), /* Curve */
+       ID_MB   = MAKE_ID2('M', 'B'), /* MetaBall */
+       ID_MA   = MAKE_ID2('M', 'A'), /* Material */
+       ID_TE   = MAKE_ID2('T', 'E'), /* Tex (Texture) */
+       ID_IM   = MAKE_ID2('I', 'M'), /* Image */
+       ID_LT   = MAKE_ID2('L', 'T'), /* Lattice */
+       ID_LA   = MAKE_ID2('L', 'A'), /* Lamp */
+       ID_CA   = MAKE_ID2('C', 'A'), /* Camera */
+       ID_IP   = MAKE_ID2('I', 'P'), /* Ipo (depreciated, replaced by FCurves) */
+       ID_KE   = MAKE_ID2('K', 'E'), /* Key (shape key) */
+       ID_WO   = MAKE_ID2('W', 'O'), /* World */
+       ID_SCR  = MAKE_ID2('S', 'R'), /* Screen */
+       ID_VF   = MAKE_ID2('V', 'F'), /* VFont (Vector Font) */
+       ID_TXT  = MAKE_ID2('T', 'X'), /* Text */
+       ID_SPK  = MAKE_ID2('S', 'K'), /* Speaker */
+       ID_SO   = MAKE_ID2('S', 'O'), /* Sound */
+       ID_GR   = MAKE_ID2('G', 'R'), /* Group */
+       ID_AR   = MAKE_ID2('A', 'R'), /* bArmature */
+       ID_AC   = MAKE_ID2('A', 'C'), /* bAction */
+       ID_NT   = MAKE_ID2('N', 'T'), /* bNodeTree */
+       ID_BR   = MAKE_ID2('B', 'R'), /* Brush */
+       ID_GD   = MAKE_ID2('G', 'D'), /* bGPdata, (Grease Pencil) */
+       ID_WM   = MAKE_ID2('W', 'M'), /* WindowManager */
+       ID_MC   = MAKE_ID2('M', 'C'), /* MovieClip */
+       ID_MSK  = MAKE_ID2('M', 'S'), /* Mask */
+       ID_LS   = MAKE_ID2('L', 'S'), /* FreestyleLineStyle */
+       ID_PAL  = MAKE_ID2('P', 'L'), /* Palette */
+       ID_PC   = MAKE_ID2('P', 'C'), /* PaintCurve  */
+       ID_CF   = MAKE_ID2('C', 'F'), /* CacheFile */
+} ID_Type;
+
+/* Only used as 'placeholder' in .blend files for directly linked datablocks. */
+#define ID_ID       MAKE_ID2('I', 'D') /* (internal use only) */
+
+/* Deprecated. */
+#define ID_SCRN            MAKE_ID2('S', 'N')
+
+/* NOTE! Fake IDs, needed for g.sipo->blocktype or outliner */
 #define ID_SEQ         MAKE_ID2('S', 'Q')
                        /* constraint */
 #define ID_CO          MAKE_ID2('C', 'O')
@@ -369,6 +376,7 @@ enum {
        FILTER_ID_TXT       = (1 << 24),
        FILTER_ID_VF        = (1 << 25),
        FILTER_ID_WO        = (1 << 26),
+       FILTER_ID_CF        = (1 << 27),
 };
 
 #ifdef __cplusplus