mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
always use full path to avoid issues with working directories in wine
This commit is contained in:
parent
bf7a3d021a
commit
51d9ef58d9
@ -23,6 +23,8 @@ int Savesettings;
|
||||
int Resolutions;
|
||||
int Minfps;
|
||||
|
||||
#define GAME_PATH (TPath::GetDirectoryName(Application->ExeName) + "\\")
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
__fastcall TConfigForm::TConfigForm(TComponent* Owner)
|
||||
: TForm(Owner)
|
||||
@ -40,7 +42,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;
|
||||
|
||||
@ -57,7 +59,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";
|
||||
|
||||
@ -86,7 +88,7 @@ void __fastcall TConfigForm::RestoreDefaultsBtnClick(TObject *Sender)
|
||||
return;
|
||||
}
|
||||
|
||||
auto *ini = new TIniFile(".\\Warcraft II BNE.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "Warcraft II BNE.ini");
|
||||
|
||||
ini->WriteString("Game", "Resolution", "4");
|
||||
ini->WriteString("Game", "Width", "0");
|
||||
@ -94,7 +96,7 @@ void __fastcall TConfigForm::RestoreDefaultsBtnClick(TObject *Sender)
|
||||
|
||||
delete ini;
|
||||
|
||||
DeleteFile(".\\ddraw.ini");
|
||||
DeleteFile(GAME_PATH + "ddraw.ini");
|
||||
|
||||
ShellExecute(
|
||||
NULL,
|
||||
@ -685,11 +687,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) {
|
||||
|
||||
@ -709,8 +711,8 @@ void __fastcall TConfigForm::FormCreate(TObject *Sender)
|
||||
}
|
||||
}
|
||||
|
||||
auto *ini = new TIniFile(".\\ddraw.ini");
|
||||
auto *hd_ini = new TIniFile(".\\Warcraft II BNE.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto *hd_ini = new TIniFile(GAME_PATH + "Warcraft II BNE.ini");
|
||||
|
||||
if (ini->ReadString("ddraw", "configtheme", "Windows10") == "Cobalt XEMedia") {
|
||||
|
||||
@ -913,8 +915,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;
|
||||
@ -928,8 +930,8 @@ void TConfigForm::SaveSettings()
|
||||
if (!Initialized)
|
||||
return;
|
||||
|
||||
auto *ini = new TIniFile(".\\ddraw.ini");
|
||||
auto *hd_ini = new TIniFile(".\\Warcraft II BNE.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto *hd_ini = new TIniFile(GAME_PATH + "Warcraft II BNE.ini");
|
||||
|
||||
/* Display Settings */
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include <vcl.h>
|
||||
#pragma hdrstop
|
||||
#include <IniFiles.hpp>
|
||||
#include <IOUtils.hpp>
|
||||
#include <System.Hash.hpp>
|
||||
#include <tchar.h>
|
||||
//---------------------------------------------------------------------------
|
||||
@ -10,6 +11,9 @@
|
||||
#include <Vcl.Themes.hpp>
|
||||
USEFORM("ConfigFormUnit.cpp", ConfigForm);
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define GAME_PATH (TPath::GetDirectoryName(Application->ExeName) + "\\")
|
||||
|
||||
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
|
||||
{
|
||||
try
|
||||
@ -31,7 +35,7 @@ int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
|
||||
return 0;
|
||||
}
|
||||
|
||||
auto *ini = new TIniFile(".\\ddraw.ini");
|
||||
auto *ini = new TIniFile(GAME_PATH + "ddraw.ini");
|
||||
auto theme = ini->ReadString("ddraw", "configtheme", "Windows10");
|
||||
|
||||
TStyleManager::TrySetStyle(
|
||||
|
Loading…
x
Reference in New Issue
Block a user