MCPcopy Create free account
hub / github.com/bo3b/3Dmigoto / LoadConfigFile

Function LoadConfigFile

DirectX9/IniHandler.cpp:4069–4393  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4067 ParseHelixShaderOverrideSections();
4068}
4069void LoadConfigFile()
4070{
4071 wchar_t iniFile[MAX_PATH], logFilename[MAX_PATH];
4072 wchar_t setting[MAX_PATH];
4073
4074 G->gInitialized = true;
4075
4076 if (!GetModuleFileName(0, iniFile, MAX_PATH))
4077 DoubleBeepExit();
4078 wcsrchr(iniFile, L'\\')[1] = 0;
4079 wcscpy(logFilename, iniFile);
4080 wcscat(iniFile, INI_FILENAME);
4081 if (G->process_index > 0)
4082 swprintf_s(logFilename, ARRAYSIZE(logFilename), L"d3d9_log_%i.txt", G->process_index);
4083 else
4084 wcscat(logFilename, L"d3d9_log.txt");
4085
4086 // Log all settings that are _enabled_, in order,
4087 // so that there is no question what settings we are using.
4088
4089 // [Logging]
4090 // Not using the helper function for this one since logging isn't enabled yet
4091 if (GetPrivateProfileInt(L"Logging", L"calls", 1, iniFile))
4092 {
4093 if (!LogFile)
4094 LogFile = _wfsopen(logFilename, L"w", _SH_DENYNO);
4095 LogInfo("\nD3D9 DLL starting init - v %s - %s\n\n", VER_FILE_VERSION_STR, LogTime().c_str());
4096 LogInfoW(L"----------- " INI_FILENAME L" settings -----------\n");
4097 }
4098 LogInfo("[Logging]\n");
4099 LogInfo(" calls=1\n");
4100
4101 ParseIniFile(iniFile);
4102 InsertBuiltInIniSections();
4103
4104 G->helix_fix = GetIniBool(L"Rendering", L"helix_fix", false, NULL, &migoto_ini);
4105 if (G->helix_fix) {
4106 GetIniStringAndLog(L"Rendering", L"helix_ini", L"DX9Settings.ini", G->helix_ini, MAX_PATH, &migoto_ini);
4107 if (GetIniStringAndLog(L"Rendering", L"helix_vertex_override_directory", L"ShaderOverride\\VertexShaders", G->HELIX_SHADER_PATH_VERTEX, MAX_PATH, &migoto_ini))
4108 {
4109 while (G->HELIX_SHADER_PATH_VERTEX[wcslen(G->HELIX_SHADER_PATH_VERTEX) - 1] == L' ')
4110 G->HELIX_SHADER_PATH_VERTEX[wcslen(G->HELIX_SHADER_PATH_VERTEX) - 1] = 0;
4111 if (G->HELIX_SHADER_PATH_VERTEX[1] != ':' && G->HELIX_SHADER_PATH_VERTEX[0] != '\\')
4112 {
4113 GetModuleFileName(0, setting, MAX_PATH);
4114 wcsrchr(setting, L'\\')[1] = 0;
4115 wcscat(setting, G->HELIX_SHADER_PATH_VERTEX);
4116 wcscpy(G->HELIX_SHADER_PATH_VERTEX, setting);
4117 }
4118 // Create directory?
4119 CreateDirectoryEnsuringAccess(G->HELIX_SHADER_PATH_VERTEX);
4120 }
4121 if (GetIniStringAndLog(L"Rendering", L"helix_pixel_override_directory", L"ShaderOverride\\PixelShaders", G->HELIX_SHADER_PATH_PIXEL, MAX_PATH, &migoto_ini))
4122 {
4123 while (G->HELIX_SHADER_PATH_PIXEL[wcslen(G->HELIX_SHADER_PATH_PIXEL) - 1] == L' ')
4124 G->HELIX_SHADER_PATH_PIXEL[wcslen(G->HELIX_SHADER_PATH_PIXEL) - 1] = 0;
4125 if (G->HELIX_SHADER_PATH_PIXEL[1] != ':' && G->HELIX_SHADER_PATH_PIXEL[0] != '\\')
4126 {

Callers 2

ReloadConfigFunction · 0.70
InitializeDLLFunction · 0.70

Calls 15

DoubleBeepExitFunction · 0.85
LoadHelixConfigFileFunction · 0.85
ParseIniFileFunction · 0.70
InsertBuiltInIniSectionsFunction · 0.70
GetIniBoolFunction · 0.70
GetIniStringAndLogFunction · 0.70
GetIniIntFunction · 0.70
ParseIncludedIniFilesFunction · 0.70
GetIniFloatFunction · 0.70
RegisterIniKeyBindingFunction · 0.70
GetIniEnumClassFunction · 0.70

Tested by

no test coverage detected