diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-09-20 21:48:45 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-09-20 22:21:56 +0300 | 
| commit | c990a6a82dda1ea7cb257f2d6ff9156e4fc0d766 (patch) | |
| tree | 92c21a8963176313d80d1c415be473f247142180 | |
| parent | 1b529bfb73d4640323983dbb7851f0434cd7cac1 (diff) | |
SL-11793 Fallback for 'Day' preset importing
| -rw-r--r-- | indra/newview/llsettingsvo.cpp | 27 | 
1 files changed, 27 insertions, 0 deletions
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index 1e5b893cbc..5991d4073f 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -1021,12 +1021,39 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &n      std::set<std::string> framenames;      std::set<std::string> notfound; +    // expected and correct folder sctructure is to have +    // three folders in widnlight's root: days, water, skies       std::string base_path(gDirUtilp->getDirName(path));      std::string water_path(base_path);      std::string sky_path(base_path); +    std::string day_path(base_path);      gDirUtilp->append(water_path, "water");      gDirUtilp->append(sky_path, "skies"); +    gDirUtilp->append(day_path, "days"); + +    if (!gDirUtilp->fileExists(day_path)) +    { +        LL_WARNS("SETTINGS") << "File " << name << ".xml is not in \"days\" folder." << LL_ENDL; +    } + +    if (!gDirUtilp->fileExists(water_path)) +    { +        LL_WARNS("SETTINGS") << "Failed to find accompaniying water folder for file " << name +            << ".xml. Falling back to using default folder" << LL_ENDL; + +        water_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight"); +        gDirUtilp->append(water_path, "water"); +    } + +    if (!gDirUtilp->fileExists(sky_path)) +    { +        LL_WARNS("SETTINGS") << "Failed to find accompaniying skies folder for file " << name +            << ".xml. Falling back to using default folder" << LL_ENDL; + +        sky_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight"); +        gDirUtilp->append(sky_path, "skies"); +    }      newsettings[SETTING_NAME] = name;  | 
