Commit: ddb61b1a8a64a1f66daeb7e238c7313f08d1948c Author: Bastien Montagne Date: Tue Sep 20 12:28:46 2016 +0200 Branches: asset-engine https://developer.blender.org/rBddb61b1a8a64a1f66daeb7e238c7313f08d1948c
Merge branch 'master' into asset-engine Conflicts: source/blender/blenloader/intern/writefile.c =================================================================== =================================================================== diff --cc source/blender/blenloader/intern/writefile.c index 35c0ffd,49e5255..3a453ce --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@@ -3956,57 -3945,15 +3956,57 @@@ static void write_libraries(WriteData * } } - while (a--) { - for (id = lbarray[a]->first; id; id = id->next) { - if (id->us > 0 && (id->tag & LIB_TAG_EXTERN)) { - if (!BKE_idcode_is_linkable(GS(id->name))) { - printf("ERROR: write file: data-block '%s' from lib '%s' is not linkable " - "but is flagged as directly linked", id->name, main->curlib->filepath); - BLI_assert(0); + if (main->curlib->asset_repository) { + writestruct(wd, DATA, AssetRepositoryRef, 1, main->curlib->asset_repository); + } + + if (main->curlib->flag & LIBRARY_FLAG_VIRTUAL) { + /* Those should be the only datatypes found in a virtual library! */ + write_images (wd, &main->image); + write_vfonts (wd, &main->vfont); + write_texts (wd, &main->text); + write_sounds (wd, &main->sound); + + BLI_assert(BLI_listbase_is_empty(&main->wm)); + BLI_assert(BLI_listbase_is_empty(&main->screen)); + BLI_assert(BLI_listbase_is_empty(&main->movieclip)); + BLI_assert(BLI_listbase_is_empty(&main->mask)); + BLI_assert(BLI_listbase_is_empty(&main->scene)); + BLI_assert(BLI_listbase_is_empty(&main->curve)); + BLI_assert(BLI_listbase_is_empty(&main->mball)); + BLI_assert(BLI_listbase_is_empty(&main->camera)); + BLI_assert(BLI_listbase_is_empty(&main->lamp)); + BLI_assert(BLI_listbase_is_empty(&main->latt)); + BLI_assert(BLI_listbase_is_empty(&main->key)); + BLI_assert(BLI_listbase_is_empty(&main->world)); + BLI_assert(BLI_listbase_is_empty(&main->speaker)); + BLI_assert(BLI_listbase_is_empty(&main->group)); + BLI_assert(BLI_listbase_is_empty(&main->armature)); + BLI_assert(BLI_listbase_is_empty(&main->action)); + BLI_assert(BLI_listbase_is_empty(&main->object)); + BLI_assert(BLI_listbase_is_empty(&main->mat)); + BLI_assert(BLI_listbase_is_empty(&main->tex)); + BLI_assert(BLI_listbase_is_empty(&main->mesh)); + BLI_assert(BLI_listbase_is_empty(&main->particle)); + BLI_assert(BLI_listbase_is_empty(&main->nodetree)); + BLI_assert(BLI_listbase_is_empty(&main->brush)); + BLI_assert(BLI_listbase_is_empty(&main->palettes)); + BLI_assert(BLI_listbase_is_empty(&main->paintcurves)); + BLI_assert(BLI_listbase_is_empty(&main->gpencil)); + BLI_assert(BLI_listbase_is_empty(&main->linestyle)); + } + else { + while (a--) { + for (id = lbarray[a]->first; id; id = id->next) { + if (id->us > 0 && (id->tag & LIB_TAG_EXTERN)) { + if (!BKE_idcode_is_linkable(GS(id->name))) { - printf("ERROR: write file: datablock '%s' from lib '%s' is not linkable " ++ printf("ERROR: write file: data-block '%s' from lib '%s' is not linkable " + "but is flagged as directly linked", id->name, main->curlib->filepath); + BLI_assert(0); + } + writestruct(wd, ID_ID, ID, 1, id); + write_iddata(wd, id); } - writestruct(wd, ID_ID, ID, 1, id); } } } diff --cc source/blender/windowmanager/intern/wm_files_link.c index 8195212,e872ec1..c97ec56 --- a/source/blender/windowmanager/intern/wm_files_link.c +++ b/source/blender/windowmanager/intern/wm_files_link.c @@@ -596,12 -465,8 +596,12 @@@ static void wm_link_append_properties_c /* better not save _any_ settings for this operator */ /* properties */ + prop = RNA_def_string(ot->srna, "asset_engine", NULL, sizeof(((AssetEngineType *)NULL)->idname), + "Asset Engine", "Asset engine identifier used to append/link the data"); + RNA_def_property_flag(prop, PROP_SKIP_SAVE | PROP_HIDDEN); + prop = RNA_def_boolean(ot->srna, "link", is_link, - "Link", "Link the objects or datablocks rather than appending"); + "Link", "Link the objects or data-blocks rather than appending"); RNA_def_property_flag(prop, PROP_SKIP_SAVE | PROP_HIDDEN); prop = RNA_def_boolean(ot->srna, "autoselect", true, "Select", "Select new objects"); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs