From c24b59959dbef3b9aa8594a2ca8023d18ceea302 Mon Sep 17 00:00:00 2001 From: Charles Wardlaw Date: Mon, 25 Mar 2024 14:50:59 +0100 Subject: [PATCH] Fix #99114: USD: Cache file operators now recognize USD as well as Alembic USD files are now findable from the cachefile.open() and cachefile.layer_add() operators. Removed the ".abc" appending when looking for a file for the first time, as it no longer makes sense. Pull Request: https://projects.blender.org/blender/blender/pulls/118685 --- source/blender/editors/io/io_cache.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/blender/editors/io/io_cache.cc b/source/blender/editors/io/io_cache.cc index 824b403657a..95ab30adff5 100644 --- a/source/blender/editors/io/io_cache.cc +++ b/source/blender/editors/io/io_cache.cc @@ -53,8 +53,8 @@ static int cachefile_open_invoke(bContext *C, wmOperator *op, const wmEvent * /* char filepath[FILE_MAX]; Main *bmain = CTX_data_main(C); - STRNCPY(filepath, BKE_main_blendfile_path(bmain)); - BLI_path_extension_replace(filepath, sizeof(filepath), ".abc"); + /* Default to the same directory as the blend file. */ + BLI_path_split_dir_part(BKE_main_blendfile_path(bmain), filepath, sizeof(filepath)); RNA_string_set(op->ptr, "filepath", filepath); } @@ -119,7 +119,7 @@ void CACHEFILE_OT_open(wmOperatorType *ot) ot->cancel = open_cancel; WM_operator_properties_filesel(ot, - FILE_TYPE_ALEMBIC | FILE_TYPE_FOLDER, + FILE_TYPE_ALEMBIC | FILE_TYPE_USD | FILE_TYPE_FOLDER, FILE_BLENDER, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH, @@ -163,8 +163,8 @@ static int cachefile_layer_open_invoke(bContext *C, wmOperator *op, const wmEven char filepath[FILE_MAX]; Main *bmain = CTX_data_main(C); - STRNCPY(filepath, BKE_main_blendfile_path(bmain)); - BLI_path_extension_replace(filepath, sizeof(filepath), ".abc"); + /* Default to the same directory as the blend file. */ + BLI_path_split_dir_part(BKE_main_blendfile_path(bmain), filepath, sizeof(filepath)); RNA_string_set(op->ptr, "filepath", filepath); } @@ -215,7 +215,7 @@ void CACHEFILE_OT_layer_add(wmOperatorType *ot) ot->exec = cachefile_layer_add_exec; WM_operator_properties_filesel(ot, - FILE_TYPE_ALEMBIC | FILE_TYPE_FOLDER, + FILE_TYPE_ALEMBIC | FILE_TYPE_USD | FILE_TYPE_FOLDER, FILE_BLENDER, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH,