MCPcopy Create free account
hub / github.com/ConfettiFX/The-Forge / parseExtendedConfigurationLine

Function parseExtendedConfigurationLine

Common_3/Graphics/GraphicsConfig.cpp:1656–1694  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1654}
1655
1656void parseExtendedConfigurationLine(char* currentLine, ExtendedSettings* pExtendedSettings, uint32_t preferedGpuId)
1657{
1658 char settingName[MAX_GPU_VENDOR_STRING_LENGTH] = {};
1659 char ruleParameters[MAX_GPU_VENDOR_STRING_LENGTH] = {};
1660 char assignmentValue[MAX_GPU_VENDOR_STRING_LENGTH] = {};
1661
1662 // parse selection rule
1663 size_t ruleLength = strcspn(currentLine, "#");
1664 const char* pLineEnd = currentLine + ruleLength;
1665 char* tokens[] = { settingName, ruleParameters, assignmentValue };
1666 tokenizeLine(currentLine, pLineEnd, ";", MAX_GPU_VENDOR_STRING_LENGTH, TF_ARRAY_COUNT(tokens), tokens);
1667
1668 uint32_t settingIndex = getSettingIndex(settingName, pExtendedSettings->mNumSettings, pExtendedSettings->ppSettingNames);
1669 if (settingIndex != INVALID_OPTION)
1670 {
1671 char* rulesBegin = ruleParameters;
1672 ExtendedConfigurationRule* currentExtendedRule =
1673 &gGraphicsConfigRules.mExtendedConfigurationRules[gGraphicsConfigRules.mExtendedConfigurationRulesCount];
1674 *currentExtendedRule = {};
1675 currentExtendedRule->name = pExtendedSettings->ppSettingNames[settingIndex];
1676 currentExtendedRule->pSettingValue = &pExtendedSettings->pSettings[settingIndex];
1677 parseConfigurationRules(&currentExtendedRule->pConfigurationRules, &currentExtendedRule->comparisonRulesCount, rulesBegin,
1678 preferedGpuId);
1679 bool validConversion = stringToInteger(assignmentValue, &currentExtendedRule->assignmentValue, 10);
1680 if (!validConversion)
1681 {
1682 LOGF(eDEBUG, "parseUserSettings: cannot convert %s for setting name: '%s'.", assignmentValue, currentExtendedRule->name);
1683 tf_free(currentExtendedRule->pConfigurationRules);
1684 }
1685 else
1686 {
1687 gGraphicsConfigRules.mExtendedConfigurationRulesCount++;
1688 }
1689 }
1690 else
1691 {
1692 LOGF(eDEBUG, "User Settings| Unknown ExtendedSetting: '%s' from line: '%s'", settingName, currentLine);
1693 }
1694}
1695
1696void parseConfigurationRules(ConfigurationRule** ppConfigurationRules, uint32_t* pRulesCount, char* ruleStr, uint32_t preferedGpuId)
1697{

Callers 1

parseGPUConfigFileFunction · 0.85

Calls 5

tokenizeLineFunction · 0.85
getSettingIndexFunction · 0.85
parseConfigurationRulesFunction · 0.85
stringToIntegerFunction · 0.85
tf_freeFunction · 0.85

Tested by

no test coverage detected