BOOL LLFeatureManager::loadFeatureTables() { // *TODO - if I or anyone else adds something else to the skipped list // make this data driven. Put it in the feature table and parse it // correctly mSkippedFeatures.insert("RenderAnisotropic"); mSkippedFeatures.insert("RenderGamma"); mSkippedFeatures.insert("RenderVBOEnable"); mSkippedFeatures.insert("RenderFogRatio"); // first table is install with app std::string app_path = gDirUtilp->getAppRODataDir(); app_path += gDirUtilp->getDirDelimiter(); std::string filename; std::string http_filename; #if LL_WINDOWS std::string os_string = LLAppViewer::instance()->getOSInfo().getOSStringSimple(); if (os_string.find("Microsoft Windows XP") == 0) { filename = llformat(FEATURE_TABLE_FILENAME, "_xp"); http_filename = llformat(FEATURE_TABLE_VER_FILENAME, "_xp", LLVersionInfo::getVersion().c_str()); } else { filename = llformat(FEATURE_TABLE_FILENAME, ""); http_filename = llformat(FEATURE_TABLE_VER_FILENAME, "", LLVersionInfo::getVersion().c_str()); } #else filename = FEATURE_TABLE_FILENAME; http_filename = llformat(FEATURE_TABLE_VER_FILENAME, LLVersionInfo::getVersion().c_str()); #endif app_path += filename; // second table is downloaded with HTTP std::string http_path = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, http_filename); // use HTTP table if it exists std::string path; if (gDirUtilp->fileExists(http_path)) { path = http_path; } else { path = app_path; } return parseFeatureTable(path); }
BOOL LLFeatureManager::loadFeatureTables() { // *TODO - if I or anyone else adds something else to the skipped list // make this data driven. Put it in the feature table and parse it // correctly mSkippedFeatures.insert("RenderAnisotropic"); mSkippedFeatures.insert("RenderGamma"); mSkippedFeatures.insert("RenderVBOEnable"); mSkippedFeatures.insert("RenderFogRatio"); // first table is install with app std::string app_path = gDirUtilp->getAppRODataDir(); app_path += gDirUtilp->getDirDelimiter(); std::string filename = FEATURE_TABLE_FILENAME; app_path += filename; return parseFeatureTable(app_path); }