#267 allow to override .ini path via env var
This commit is contained in:
parent
c08ccb61c4
commit
3ab1f7ff11
4 changed files with 50 additions and 22 deletions
|
@ -43,7 +43,12 @@ void __fastcall TConfigForm::CreateParams(TCreateParams & Params)
|
|||
|
||||
void __fastcall TConfigForm::LanguageImgClick(TObject *Sender)
|
||||
{
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto iniPath = System::Sysutils::GetEnvironmentVariable(
|
||||
"CNC_DDRAW_CONFIG_FILE");
|
||||
|
||||
auto *ini =
|
||||
new TIniFile(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini");
|
||||
|
||||
ini->WriteString("ddraw", "configlang", IsEnglish ? "auto" : "english");
|
||||
delete ini;
|
||||
|
||||
|
@ -60,7 +65,12 @@ void __fastcall TConfigForm::LanguageImgClick(TObject *Sender)
|
|||
|
||||
void __fastcall TConfigForm::ThemePnlClick(TObject *Sender)
|
||||
{
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto iniPath = System::Sysutils::GetEnvironmentVariable(
|
||||
"CNC_DDRAW_CONFIG_FILE");
|
||||
|
||||
auto *ini =
|
||||
new TIniFile(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini");
|
||||
|
||||
auto theme =
|
||||
ThemePnl->Color == (TColor)RGB(31, 31, 31) ? "Cobalt XEMedia" : "Windows10";
|
||||
|
||||
|
@ -89,7 +99,10 @@ void __fastcall TConfigForm::RestoreDefaultsBtnClick(TObject *Sender)
|
|||
return;
|
||||
}
|
||||
|
||||
DeleteFile(GAME_PATH + "ddraw.ini");
|
||||
auto iniPath = System::Sysutils::GetEnvironmentVariable(
|
||||
"CNC_DDRAW_CONFIG_FILE");
|
||||
|
||||
DeleteFile(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini");
|
||||
|
||||
ShellExecute(
|
||||
NULL,
|
||||
|
@ -671,8 +684,12 @@ void __fastcall TConfigForm::CompatibilityBtnClick(TObject *Sender)
|
|||
|
||||
void __fastcall TConfigForm::FormCreate(TObject *Sender)
|
||||
{
|
||||
auto iniPath = System::Sysutils::GetEnvironmentVariable(
|
||||
"CNC_DDRAW_CONFIG_FILE");
|
||||
|
||||
/* Let cnc-ddraw create a new ddraw.ini if it doesn't exist */
|
||||
if (FileExists(GAME_PATH + "ddraw.dll") && !FileExists(GAME_PATH + "ddraw.ini")) {
|
||||
if (FileExists(GAME_PATH + "ddraw.dll") &&
|
||||
!FileExists(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini")) {
|
||||
|
||||
SetEnvironmentVariableW(L"cnc_ddraw_config_init", L"1");
|
||||
|
||||
|
@ -696,7 +713,8 @@ void __fastcall TConfigForm::FormCreate(TObject *Sender)
|
|||
}
|
||||
}
|
||||
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto *ini =
|
||||
new TIniFile(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini");
|
||||
|
||||
if (ini->ReadString("ddraw", "configtheme", "Windows10") == "Cobalt XEMedia") {
|
||||
|
||||
|
@ -905,7 +923,7 @@ void __fastcall TConfigForm::FormCreate(TObject *Sender)
|
|||
|
||||
RestoreDefaultsBtn->Visible =
|
||||
FileExists(GAME_PATH + "ddraw.dll") &&
|
||||
FileExists(GAME_PATH + "ddraw.ini") &&
|
||||
FileExists(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini") &&
|
||||
GetBool(ini, "allow_reset", true);
|
||||
|
||||
delete ini;
|
||||
|
@ -918,7 +936,11 @@ void TConfigForm::SaveSettings()
|
|||
if (!Initialized)
|
||||
return;
|
||||
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto iniPath = System::Sysutils::GetEnvironmentVariable(
|
||||
"CNC_DDRAW_CONFIG_FILE");
|
||||
|
||||
auto *ini =
|
||||
new TIniFile(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini");
|
||||
|
||||
/* Display Settings */
|
||||
|
||||
|
|
|
@ -35,7 +35,12 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
|
|||
return 0;
|
||||
}
|
||||
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto iniPath = System::Sysutils::GetEnvironmentVariable(
|
||||
"CNC_DDRAW_CONFIG_FILE");
|
||||
|
||||
auto *ini =
|
||||
new TIniFile(iniPath.Length() ? iniPath : GAME_PATH + "ddraw.ini");
|
||||
|
||||
auto theme = ini->ReadString("ddraw", "configtheme", "Windows10");
|
||||
|
||||
TStyleManager::TrySetStyle(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue