Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-12-31 17:36:09 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-12-31 17:40:42 +0300
commit93fa7417d591b06605cfde4219e77a35f1ac5618 (patch)
tree9f2a42e7444d1a35307930cdf5fdd9c2447c0089 /source
parentae3f68a39505e719305801547a16f546ac342c74 (diff)
Cleanup: specify default studiolight name, instead using first alphabetically.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/BKE_studiolight.h2
-rw-r--r--source/blender/blenkernel/intern/studiolight.c26
-rw-r--r--source/blender/blenloader/intern/versioning_280.c2
3 files changed, 24 insertions, 6 deletions
diff --git a/source/blender/blenkernel/BKE_studiolight.h b/source/blender/blenkernel/BKE_studiolight.h
index 25931e2bbf5..cbaa25d9b3e 100644
--- a/source/blender/blenkernel/BKE_studiolight.h
+++ b/source/blender/blenkernel/BKE_studiolight.h
@@ -140,7 +140,7 @@ void BKE_studiolight_init(void);
void BKE_studiolight_free(void);
struct StudioLight *BKE_studiolight_find(const char *name, int flag);
struct StudioLight *BKE_studiolight_findindex(int index, int flag);
-struct StudioLight *BKE_studiolight_find_first(int flag);
+struct StudioLight *BKE_studiolight_find_default(int flag);
void BKE_studiolight_preview(uint *icon_buffer, StudioLight *sl, int icon_id_type);
struct ListBase *BKE_studiolight_listbase(void);
void BKE_studiolight_ensure_flag(StudioLight *sl, int flag);
diff --git a/source/blender/blenkernel/intern/studiolight.c b/source/blender/blenkernel/intern/studiolight.c
index 070b94e35a9..a52ade025af 100644
--- a/source/blender/blenkernel/intern/studiolight.c
+++ b/source/blender/blenkernel/intern/studiolight.c
@@ -88,6 +88,9 @@ static const char *STUDIOLIGHT_LIGHTS_FOLDER = "studiolights/studio/";
static const char *STUDIOLIGHT_WORLD_FOLDER = "studiolights/world/";
static const char *STUDIOLIGHT_MATCAP_FOLDER = "studiolights/matcap/";
+static const char *STUDIOLIGHT_WORLD_DEFAULT = "forest.exr";
+static const char *STUDIOLIGHT_MATCAP_DEFAULT = "basic_1.exr";
+
/* ITER MACRO */
/** Iter on all pixel giving texel center position and pixel pointer.
@@ -1249,8 +1252,23 @@ void BKE_studiolight_free(void)
}
}
-struct StudioLight *BKE_studiolight_find_first(int flag)
+struct StudioLight *BKE_studiolight_find_default(int flag)
{
+ const char *default_name = "";
+
+ if (flag & STUDIOLIGHT_TYPE_WORLD) {
+ default_name = STUDIOLIGHT_WORLD_DEFAULT;
+ }
+ else if (flag & STUDIOLIGHT_TYPE_MATCAP) {
+ default_name = STUDIOLIGHT_MATCAP_DEFAULT;
+ }
+
+ LISTBASE_FOREACH(StudioLight *, sl, &studiolights) {
+ if ((sl->flag & flag) && STREQ(sl->name, default_name)) {
+ return sl;
+ }
+ }
+
LISTBASE_FOREACH(StudioLight *, sl, &studiolights) {
if ((sl->flag & flag)) {
return sl;
@@ -1268,12 +1286,12 @@ struct StudioLight *BKE_studiolight_find(const char *name, int flag)
}
else {
/* flags do not match, so use default */
- return BKE_studiolight_find_first(flag);
+ return BKE_studiolight_find_default(flag);
}
}
}
/* When not found, use the default studio light */
- return BKE_studiolight_find_first(flag);
+ return BKE_studiolight_find_default(flag);
}
struct StudioLight *BKE_studiolight_findindex(int index, int flag)
@@ -1284,7 +1302,7 @@ struct StudioLight *BKE_studiolight_findindex(int index, int flag)
}
}
/* When not found, use the default studio light */
- return BKE_studiolight_find_first(flag);
+ return BKE_studiolight_find_default(flag);
}
struct ListBase *BKE_studiolight_listbase(void)
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index ab5f1a30d04..f81705a2c61 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -1656,7 +1656,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
}
if (!DNA_struct_elem_find(fd->filesdna, "View3DShading", "char", "matcap[256]")) {
- StudioLight *default_matcap = BKE_studiolight_find_first(STUDIOLIGHT_TYPE_MATCAP);
+ StudioLight *default_matcap = BKE_studiolight_find_default(STUDIOLIGHT_TYPE_MATCAP);
/* when loading the internal file is loaded before the matcaps */
if (default_matcap) {
for (bScreen *screen = bmain->screen.first; screen; screen = screen->id.next) {