always use full path to avoid issues with working directories in wine
This commit is contained in:
parent
8cfe73e834
commit
07d26d7bed
2 changed files with 16 additions and 10 deletions
|
@ -24,6 +24,8 @@ int Savesettings;
|
|||
int Resolutions;
|
||||
int Minfps;
|
||||
|
||||
#define GAME_PATH (TPath::GetDirectoryName(Application->ExeName) + "\\")
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
__fastcall TConfigForm::TConfigForm(TComponent* Owner)
|
||||
: TForm(Owner)
|
||||
|
@ -41,7 +43,7 @@ void __fastcall TConfigForm::CreateParams(TCreateParams & Params)
|
|||
|
||||
void __fastcall TConfigForm::LanguageImgClick(TObject *Sender)
|
||||
{
|
||||
auto *ini = new TIniFile(".\\ddraw.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
ini->WriteString("ddraw", "configlang", IsEnglish ? "auto" : "english");
|
||||
delete ini;
|
||||
|
||||
|
@ -58,7 +60,7 @@ void __fastcall TConfigForm::LanguageImgClick(TObject *Sender)
|
|||
|
||||
void __fastcall TConfigForm::ThemePnlClick(TObject *Sender)
|
||||
{
|
||||
auto *ini = new TIniFile(".\\ddraw.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto theme =
|
||||
ThemePnl->Color == (TColor)RGB(31, 31, 31) ? "Cobalt XEMedia" : "Windows10";
|
||||
|
||||
|
@ -87,7 +89,7 @@ void __fastcall TConfigForm::RestoreDefaultsBtnClick(TObject *Sender)
|
|||
return;
|
||||
}
|
||||
|
||||
DeleteFile(".\\ddraw.ini");
|
||||
DeleteFile(GAME_PATH + "ddraw.ini");
|
||||
|
||||
ShellExecute(
|
||||
NULL,
|
||||
|
@ -670,11 +672,11 @@ void __fastcall TConfigForm::CompatibilityBtnClick(TObject *Sender)
|
|||
void __fastcall TConfigForm::FormCreate(TObject *Sender)
|
||||
{
|
||||
/* Let cnc-ddraw create a new ddraw.ini if it doesn't exist */
|
||||
if (FileExists(".\\ddraw.dll") && !FileExists(".\\ddraw.ini")) {
|
||||
if (FileExists(GAME_PATH + "ddraw.dll") && !FileExists(GAME_PATH + "ddraw.ini")) {
|
||||
|
||||
SetEnvironmentVariableW(L"cnc_ddraw_config_init", L"1");
|
||||
|
||||
HMODULE ddraw = LoadLibraryW(L".\\ddraw.dll");
|
||||
HMODULE ddraw = LoadLibraryW((GAME_PATH + "ddraw.dll").w_str());
|
||||
|
||||
if (ddraw) {
|
||||
|
||||
|
@ -694,7 +696,7 @@ void __fastcall TConfigForm::FormCreate(TObject *Sender)
|
|||
}
|
||||
}
|
||||
|
||||
auto *ini = new TIniFile(".\\ddraw.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
|
||||
if (ini->ReadString("ddraw", "configtheme", "Windows10") == "Cobalt XEMedia") {
|
||||
|
||||
|
@ -902,8 +904,8 @@ void __fastcall TConfigForm::FormCreate(TObject *Sender)
|
|||
CompatibilityBtn->Visible = !GetBool(ini, "hide_compat_tab", false);
|
||||
|
||||
RestoreDefaultsBtn->Visible =
|
||||
FileExists(".\\ddraw.dll") &&
|
||||
FileExists(".\\ddraw.ini") &&
|
||||
FileExists(GAME_PATH + "ddraw.dll") &&
|
||||
FileExists(GAME_PATH + "ddraw.ini") &&
|
||||
GetBool(ini, "allow_reset", true);
|
||||
|
||||
delete ini;
|
||||
|
@ -916,7 +918,7 @@ void TConfigForm::SaveSettings()
|
|||
if (!Initialized)
|
||||
return;
|
||||
|
||||
auto *ini = new TIniFile(".\\ddraw.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
|
||||
/* Display Settings */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue